我正在尝试将我的代码的版本号包含在部署文件中,但我遇到了一个奇怪的情况。我不是svn的狂热用户所以我可能会在这里错过一些svn微妙。
当我在项目的根目录上运行svnversion
,或svnversion c:\dev\calculator
c:\ dev \ calculator是我的源代码的根目录时,我得到相同的结果:17597.
C:\Dev\Calculator>svn update
Updating '.':
At revision 17597.
C:\Dev\Calculator>svnversion
17597
C:\Dev\Calculator>svn info
Path: .
Working Copy Root Path: C:\Dev\Calculator
URL: http://10.168.130.30:8080/read_only/Trunk/Calculator
Repository Root: http://10.168.130.30:8080/read_only
Repository UUID: 9bacaef-544f-534e-b388-4c9dd7c52319
Revision: 17597
Node Kind: directory
Schedule: normal
Last Changed Author: domain\user
Last Changed Rev: 17544
Last Changed Date: 2012-07-19 15:00:36 -0400 (Thu, 19 Jul 2012)
然而,当我使用TortoiseSVN Repository Browser时,我在17544看到了我的“Calculator”文件夹的Revision列。此外,登录'Calculator'文件夹显示了rev 17544和{{3的最后一个日志条目也证实了这一点。
为什么会出现差异? 17597号码来自哪里? Last Changed Rev
和Revision
之间有什么区别?
感谢您的澄清!
答案 0 :(得分:1)
Revision: 17597
显示工作副本的当前版本,即与整个版本化项目的当前状态相关联的标识符。
Last Changed Rev: 17544
显示上次更改目标工作目录内容(包括子文件夹)的修订版。
在您的情况下,您从svn info [TARGET[@REV]...]
文件夹中调出target
而没有可选的C:\Dev\Calculator>
参数。
如果未指定target
参数svn info
选择当前目录作为目标,则为C:\Dev\Calculator>
。
因此svn info
告诉您\trunk\Calculator
内容已被修改的最新版本为rev. 17544
。
您应该注意,即使您在映射到svn存储库的 trunk 文件夹的工作目录上调用svn info
,您也可以在分支<上进行更多的最新修订/ strong>或标记。