对这块不熟悉,以前看 redmine 的源码,好像是他们自己写了个函数包装了命令行,现在有成熟的 ruby 库可以编程进行 svn 操作么?
我目前应用层次,主要是 CLI.
不过,话说回来,打个比方,像 Git 这种比较复杂的 VC, 我还是觉得在 CLI 下配合大量的别名用这爽啊。虽然 Emacs 自带了 magit, 也大概了解了下,但是感觉没有什么需求...
顺便吐槽一下:Emacs 支持所有的 VC backend, 而且是完全统一的操作方式,也许楼主该考虑...
SVN 有个很麻烦的问题是,它要用 apr 的 memory pool,和语言自己的内存管理不是刚好兼容的,所以,操作起来要特别特别小心。如果不要很高级的功能的话,还是直接封装一下命令行好了。
另外,SVN 的 binding, 应该是 perl 的那个最好使。
ubuntu 下可以直接通过 apt 安装 ruby1.8 的 svn binding 然后可以去 rubygems.org 上面搜索 svn 就有直接封装好的依赖于 svn binding 的 gem 了。1.9 下没有对应的 svn binding,之前尝试编译也是失败,貌似安装过程中会告诉你 binding 暂时不支持 ruby1.9,还是直接用命令行调好了~~
我是在应用中嵌入版本控制能力,所以 emacs 什么的就关系不大了。不过看来没有太好的方式,那我就直接封装命令行吧