子版本svn-info说目录是旧版本,但代码是新的



我有一个svn链接的目录,多个用户正在使用它。前几天我输入了svn info,发现上一次修订(rev:100)是一个月前的,大约是最近代码(rev:104)的4次提交。我想知道为什么有人决定更新旧版本。然而,经过进一步的调查,我意识到该代码实际上是最新的代码,尽管svn info说该代码来自4次提交之前的修订版。svn status没有将版本100和104之间存在代码差异的任何文件标记为"已修改"。如果我没有查看特定的文件,我只能假设代码是从rev:100开始的旧代码。我尝试了svn update,它使svn info的修订号超过了最新的修订号:105,所以现在svn info给出了一个准确的修订号。任何代码都没有更改。然而,我想知道旧的修订号会出现在svn info中的原因是什么,如果有办法避免这种情况再次发生?我想我总是可以做svn update,但有时如果我在做某件事,我可能不想这样做。有人知道发生了什么事吗?

谢谢你的帮助!

svn info在工作副本内执行是本地操作,即它永远不会联系存储库以获取最新信息,而是根据工作副本的当前状态提供所有数据。因此,如果您想查看存储库中特定资源的状态,您必须首先运行svn update(就像您所做的那样),或者需要提供一个存储库URL作为TARGET参数。

例如,要获取您所在的工作副本文件夹的当前信息,您可以使用以下命令:

svn info `svn info | grep ^URL: | awk '{print $2}'`

最新更新