SVN信息显示旧版本号为当前版本

我有一个SVN回购。 当我最近提交了一个更改时,反映的当前修订号是620:

Transmitting file data ... Committed revision 620. 

但是,如果我然后运行svn info我得到以下内容:

 Path: . URL: http://www.site.com.testing/repos/site.com/trunk Repository Root: http://svn.server/repos/site.com Repository UUID: a9c3a166-39f6-4cfb-8622-fd24eb11034b Revision: 584 Node Kind: directory Schedule: normal Last Changed Author: bob Last Changed Rev: 584 Last Changed Date: 2012-03-26 18:32:55 -0400 (Mon, 26 Mar 2012) 

所以提交的东西告诉我,目前的SVN回购是620,但svn info告诉我,目前的rev是584.此外, svn log显示584作为当前(最新)的rev。

如果我在Windows中通过TortoiseSVN查看SVN日志,它会正确显示版本620作为当前版本。

我错过了关于如何svn infosvn log工作?

svninfo命令可能会显示当前工作目录的修订版本,而当您提交更改后的一个或多个文件时,该提交的输出会显示这些文件的新修订版本。 584将是该文件夹的最后更改/更新版本。

尝试在文件夹上运行svn update并重新运行svn info 。 它应该使文件夹的其余部分达到620

Subversion向你展示的是你已经签出了修订版本584.信息直接从.svn/entries文件中获取,而不是从服务器中获取。

这起源于Subversion的基本devise,即尽可能不从存储服务器请求信息。 这是一个决定,让用户如果碰巧在远程工作,并且没有networking连接到版本库服务器,就有很多Subversion的能力。

  • 如果你对刚刚提交的文件之一做了一个svn info ,你会看到该文件在修订版本620。
  • 如果你做了一个svn info http://www.site.com.testing/repos/site.com/trunk ,你会看到上一个版本是修订版620,因为它正在与服务器通话。
  • 如果你做了一个svn update ,然后是一个svn info ,你会看到你的工作目录是在修订620。

只是一个简单的问题:你提交了几个文件,还是提交了整个工作目录? 如果你在提交中指定了被更改的文件,这是有道理的。 Subversion不知道更新工作目录根目录下的.svn/entries文件。 但是,即使我提交了所有更改,我也看到了这一点。 每当我完成所有的改变,我都会采取行动。

记住: 这不是一个错误。 这是一个function。