同事问我用 ruby 如何获取svn版本,老实说我不知道,不过我知道可以用 svn 命令
svn --version
但是同事说这个不够直接,我说再找找看
redmine项目算是很老牌了,因为要支持多种scm,应该有svn访问的代码,我找了一下,果然在这里
遗憾的是,似乎redmine也只是封装了一下命令行的输出而已
也许svn访问这种东西不值得ruby社区专门发明一个库吧,因为代码确实很简单
`svn --version | head -n 1` =~ /\d+\.\d+\.\d+/
version = $& # 此时version 值为 1.6.12
比较版本的时候需要考虑数字化
(后记,其实 svn 有一个命令仅显示版本号,推荐用这个更方便
$ svn --version --quiet 1.6.12
)