b / w svn info和svnversion有什么区别

时间:2012-01-27 04:53:18

标签: svn

我需要使用最新版本(工作副本)标记我的项目。我考虑过使用svn info命令,但我正在进行选择性更新,因此我所拥有的是具有混合版本的工作副本,并且在执行svn信息时它是显示一些旧版本。请帮助标记我的源代码,这是一个混合版本。

我也发现了svnversion,它会有帮助吗? 哪个更适合作业svn info或svnversion

5 个答案:

答案 0 :(得分:3)

虽然根据@Ivan Zhakov的回答,svnversion可以很方便,但它不能100%有效,特别是SVN版本7工作副本子文件夹(我只得到结果'导出')

在构建脚本中兼容,我使用svn info。

REVISION=$(svn info | grep -i revision | cut -f2 -d: | tr -d [:space:])

您可以通过

获得类似的“本地修改”标志
OUTSTANDING=$(svn status | grep '^[M!DA]')

答案 1 :(得分:1)

svnversion公开了svn info的相同信息(修订号),但总结了。

我总是使用svn info来获取这些信息。

答案 2 :(得分:1)

当你想编写一个将信息放入一个字符串的构建脚本时,svnversion最有用,例如你的构建过程可以创建一个版本字符串,该字符串被编译到应用程序中并包含svnversion的输出,应用于基础工作副本的目录。与'svn info'不同,它仅提供单个文件或目录的信息,svnversion将查看所有子目录并修改其输出(请参阅Ivan Zhakov答案)以反映任何本地mod或不同版本的混合。如果它只是说“4123”你知道你可以(如果一切设置正确)通过检查转4123重新生成相同的构建。

答案 3 :(得分:0)

要标记混合修订版WC,只需使用WC命令中的副本:

svn copy WC URL -m "Tagged version x.x.x".

svnversion打印单个版本号,如果工作是单个修订,未修改,未切换且URL与可选TRAIL_URL争论者匹配如果工作 复制是不寻常的版本号会更复杂:

 4123:4168     mixed revision working copy
 4168M         modified working copy
 4123S         switched working copy
 4123P         partial working copy, from a sparse checkout
 4123:4168MS   mixed revision, modified, switched working copy

答案 4 :(得分:-2)

在您的repo网址上应用svn info,而不是您的工作副本。这肯定是最新的:

svn info http://server/svn/repo

svnversion不是svn命令,它是第三方脚本。它应该使用svn info来迭代您的工作副本并获得修订。