与svn信息和svn转换有什么区别

与svn信息和svn转换有什么区别,svn,Svn,我需要用最新版本(工作副本)标记我的项目。我曾考虑使用svn info命令,但我正在进行选择性更新,因此我拥有的是一个混合版本的工作副本,在执行svn info时,它显示一些旧版本。请帮助标记我的混合版本源 我还发现了SVONVERSION,它会有帮助吗?? 在回购url上应用svn info,而不是在工作副本上,哪个更适合作业svn info或svversion。这肯定是最新的: svn info http://server/svn/repo svnversion不是svn命令,它是第三方脚

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

我还发现了SVONVERSION,它会有帮助吗??
在回购url上应用
svn info
,而不是在工作副本上,哪个更适合作业svn info或svversion

。这肯定是最新的:

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

公开了相同的信息(修订号),但进行了汇总


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

要标记混合版本WC,只需使用copy from WC命令:

svn copy WC URL -m "Tagged version x.x.x".
svreversion
如果工作是单版本、未修改、未切换,并且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

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

虽然根据@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]')

(a) 它不是一个脚本,它是一个二进制(b)它不是第三方,它是subversion包的一部分。它实际上不公开相同的信息。或者,也许更准确地说,svreversion可能不会给你想要的东西。svinversion提供了您更新到的存储库的版本,以及一些其他内容。这与上次修改的内容不同。svn info提供您更新到的最新版本以及上次更改的版本。通过签出一个很久以前的标记来尝试这一点。您将看到svninfo给出的修订版是存储库中的最后一个版本。实际上
svinversion-c
会满足他的需求。