我有一个 SVN 仓库。当我最近提交更改时,反映的当前修订号为 620:
Transmitting file data ...
Committed revision 620.
Run Code Online (Sandbox Code Playgroud)
但是,如果我然后运行,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)
Run Code Online (Sandbox Code Playgroud)
所以提交一些东西告诉我当前的 SVN repo 是 620,但svn info
告诉我当前的 rev 是 584。还svn log
显示 584 作为当前(最近的)rev。
如果我在 Windows 中通过 TortoiseSVN 查看 SVN 日志,它会正确地将修订版 620 显示为当前修订版。
我是否缺少有关如何svn info
和svn log
工作的信息?
Subversion 向您显示的是,您已检出修订版 584。该信息是直接从.svn/entries
文件中获取的,而不是从服务器中获取的。
这源于 Subversion 的基本设计,即尽可能不从存储库服务器请求信息。如果用户碰巧在远程工作并且没有与存储库服务器的网络连接,那么他们决定允许用户拥有大量 Subversion 的功能。
svn info
对刚刚提交的文件之一执行 a ,您将看到该文件的修订版为 620。svn info http://www.site.com.testing/repos/site.com/trunk
,你会看到最后一个修订版是修订版 620,因为它正在与服务器通信。svn update
,然后执行 a svn info
,您将看到您的工作目录位于修订版 620。只是一个简单的问题:你是提交了几个文件,还是提交了整个工作目录?如果您在提交中指定了已更改的文件,这将是有意义的。Subversion 不会知道更新.svn/entries
工作目录根目录中的文件。但是,即使我提交了所有更改,我也看到了这一点。每当我提交所有更改时,我都会开始执行 svn up。
请记住:这不是错误。这是一个特点。
svninfo 命令可能会向您显示当前工作目录的修订版本,而当您提交一个或多个更改的文件时,该提交的输出会显示这些文件的新版本。584 将是文件夹的最后更改/更新版本。
尝试svn update
在文件夹上运行 an并重新运行svn info
. 它应该使文件夹的其余部分达到 620
归档时间: |
|
查看次数: |
6417 次 |
最近记录: |