我想用最新的SVN版本号开始标记我已部署的二进制文件.
但是,因为SVN是基于文件而不是基于目录/项目的,所以我需要扫描所有目录和子目录的文件,以确定最高版本号.
svn info在root上使用不起作用(它只报告该目录的版本,而不是子目录中的文件):
我想知道是否有使用该svn命令执行此操作的快捷方式.否则,任何人都可以建议一个网络效率的简单脚本(我更喜欢它根本没有点击远程服务器)?
我也明白,一个可供选择的方法是保持一个版本的文件与svn:keywords.这工作(我已经在其他项目上使用过它),但我厌倦了确保文件是脏的并处理不可避免的合并冲突.
回答我svn up在调用svn info根目录之前看到我的问题在于没有做正确的事情:
$ svn info
Path: .
...
Last Changed Author: fak
Last Changed Rev: 713
Last Changed Date: 2008-08-29 00:40:53 +0300 (Fri, 29 Aug 2008)
$ svn up
At revision 721.
$ svn info
Path: .
...
Revision: 721
Last Changed Author: reuben
Last Changed Rev: 721
Last Changed Date: 2008-08-31 22:55:22 +0300 (Sun, 31 Aug 2008)
Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个批处理文件,其中我需要我正在处理的项目的HEAD修订版.
是否有命令从命令行获取此命令?
我在Windows XP机器上.
编辑 我最终使用了Shambulator,mizipzor和Stefan的答案之间的混合.我最终得到了这个:
for /f "tokens=5" %%i in ('SubWCRev WorkingCopyPath^|find "Last committed at revision"') do set version=%%i
echo %version%
Run Code Online (Sandbox Code Playgroud)
谢谢你们的帮助
将此答案添加到下面的列表中.
我试图通过使用Windows命令行从文本文件中读取一些信息,并将其保存到变量,就像"set info = 1234"
下面是txt文件的内容,实际上我只需要修订版号,它的位置总是相同的第5行,从第11列到第15行.在示例中它是1234,我想知道是否有办法将其保存到Dos命令行中的变量.
非常感谢!
svninfo.txt:
Path: .
URL: https://www.abc.com
Repository Root: https://www.abc.com/svn
Repository UUID: 12345678-8b61-fa43-97dc-123456789
Revision: 1234
Node Kind: directory
Schedule: normal
Last Changed Author: abc
Last Changed Rev: 1234
Last Changed Date: 2010-04-01 18:19:54 -0700 (Thu, 01 Apr 2010)
Run Code Online (Sandbox Code Playgroud) 我在命令行中使用svn.如何在命令行中获取头版本号.我需要这个号码,不仅要查看信息.我想用这个数字自动构建我的项目.
我正在尝试使用此命令行获取头部的修订信息
svn info https://myserver/branches/Code_Improvements -rHEAD | find "Revision"
Run Code Online (Sandbox Code Playgroud)
但是,这将返回Revision:1234
由于我使用svn info命令的结果在我的批处理文件中设置变量,有没有办法可以得到数字1234,而不是响应版本:1234.