如何使用 svn 获取给定存储库的 HEAD 修订号?

How to get the HEAD revision number of a given repository using svn?

我想创建一个 Qt 应用程序,除其他外,它将显示特定存储库的当前修订号(即 HEAD 修订号)URL。在svn helpthis and this link的帮助下,我几乎可以通过调用命令svn info <repository-url>来获得我想要的东西。问题是这个命令 return 有很多不需要的信息(例如 "last changed author" 等),而我只想要 修订号(或者尽可能多尽可能少的文字)。

那我该怎么做呢?

根据评论,使用 svn 获取给定存储库的 HEAD 修订号:

svn info <repository-url> -r 'HEAD' | grep Revision | egrep -o "[0-9]+"

既然你写了 "of a particular repository URL",你的目标是获取特定 URL(例如分支)的最后一次更改的修订号吗?如果是这样,sou 可能对 Last Changed Rev 而不是 Revision 感兴趣。

Revision 指的是根存储库,因此如果您使用分支的 URL 它可能不是您想要的:返回的 Revision 字段是相同的URL.

中指定的分支

无论如何,正如@vijucat 在评论中提到的,更简洁的检索修订的方法是添加 --show-item,它支持 revisionlast-changed-revision

这对我有用: 对于名为 "repo":

的回购
svnlook youngest repo