我如何真正获得 SVN 中的当前修订版?

How do I really get the current revision in SVN?

我制作了一个简单的脚本来将我当前的修订复制到剪贴板。至少在我使用这个 post 之后,我是这么认为的:Current Subversion revision command

但是如图所示,命令给出的根本不是当前分支的修订号。那么如何通过命令真正获取到分支的修订号呢?

如果您没有为 svn info 指定目标,则它默认为“.”这将是您的工作副本路径。

也来自svn help info

TARGET may be either a working-copy path or a URL. If specified, REV determines in which revision the target is first looked up; the default is HEAD for a URL or BASE for a WC path.

这意味着,如果您想要 HEAD 版本,则必须指定您的存储库的 URL:

svn info URL-of-repo --show-item revision

请注意,这只是 svn info 默认情况下的工作方式,您始终可以指定自己的修订参数:

svn info --revision HEAD --show-item revision

另一方面,您也可以使用 svn status -u 来获取 HEAD 修订版,如下所示:

svn status -u | awk '{ print $NF }'

所以我正在使用的实际命令是唯一一个对我有用的命令来获得当前版本:

svn info --revision HEAD --show-item revision last-changed-revision