将当前的svn版本写入文本文件

Max*_*ams 6 svn ruby-on-rails

我有一个rails网站.我想,在mongrel重新启动时,将当前的svn版本写入public/version.txt,以便我可以将其放入页眉中的注释中.

问题是获得当前版本的svn - 我有点困惑.

例如,如果我对一段尚未更新的文件进行svn更新,我会得到"修订版4571".但是,如果我做svn信息,我得到

路径:.
URL:http://my.url/trunk
存储库根目录:http://my.url/lesson_planner
存储库UUID:#########
版本:4570
节点类型:directory
计划:normal
上次更改作者:max
Last Changed Rev:4570
最后更改日期:2009-11-30 17:14:52 +0000(星期一,2009年11月30日)

请注意,这表示修订版4570,比上一个命令低1.

任何人都可以直截了当地告诉我如何简单地获取当前版本号?

谢谢,最大

Wil*_*ara 6

Subversion附带了一个命令,用于执行此操作: SVNVERSION.EXE.

用法:svnversion [OPTIONS] [WC_PATH [TRAIL_URL]]

为工作副本路径WC_PATH生成紧凑的"版本号".TRAIL_URL是URL的尾部,用于确定WC_PATH本身是否已切换(检测WC_PATH内的开关不依赖于TRAIL_URL).版本号写入标准输出.例如:

$ svnversion . /repos/svn/trunk 
4168
Run Code Online (Sandbox Code Playgroud)

如果工作副本是单个修订版,未修改,未切换且具有与TRAIL_URL参数匹配的URL,则版本号将是单个数字.如果工作副本不正常,版本号将更复杂:

4123:4168混合修订工作副本
4168M修改工作副本
4123S切换工作副本
4123:4168MS混合修订,修改,切换工作副本

如果在不是工作副本的目录上调用,导出的目录说,程序将输出'exported'.

如果不带参数调用,WC_PATH将是当前目录.

有效选项:-n [--no-newline]:不输出尾随换行符-c [--committed]:最后更改而不是当前版本-h [--help]:显示此帮助--version:show version信息