12

发生了什么事,我无法解释。

我有我的项目的工作副本 - 完成 svn update(上面写着:更新到 1895 版),我知道它是最新的。当我svn info在项目文件夹上执行时,Revision 是 1895,但 Last Changed Rev 是 1888。

使用 TortoiseSVN 检查日志显示 1888 是最后一个修订版,没有 1895 的痕迹。1895svn log上的一个是空的,svn diff1895 和 1888 之间的一个也是空的,即。没有区别。

我是如何以某种方式最终得到一些没有真正改变任何东西的流氓修订版?它基本上导致构建服务器(认为它在 1888 年)与我的 MSBuild SvnVersion 任务不同步(认为修订版是 1895 年)。

任何建议表示赞赏。

编辑:如果 Revision 将始终显示整个存储库的最新版本,则意味着 SvnVersion MSBuild 任务(它使用 svnversion.exe,但表现出类似的行为)在您拥有多个项目时不会显示正确的版本单存储库,您将需要使用“Last Changed Rev”作为您的版本号。

结果,现在滚动我自己的 SvnLastChangedRev MSBuild 任务。

4

1 回答 1

22

这不是问题或奇怪...修订号适用于整个 Subversion 存储库,因此,由于存储库中其他地方的更改,修订号可能高于分支中更改的最后一个修订号您正在工作的存储库。

澄清一下,如果您提交trunk,将存储库带到修订版 10,然后进行一系列更改branches并将tags存储库带到修订版 1000,那么 10 将是trunk文件夹的“最后更改的修订版”,但当前的修订版号整个存储库的数量将是 1000。

于 2009-12-07T09:35:46.283 回答