SVN获取存储库的修订计数

时间:2018-06-28 12:56:30

标签: qt batch-file svn tortoisesvn visualsvn-server

我目前正在研究一个Qt c ++项目,该项目基本上在特定SVN存储库的2个特定修订版(用户输入存储库和修订版)之间打印所有提交日志消息。

我需要在回购URL中获取修订的数量。

我想在Windows 10上执行此操作,所以我想批处理命令可能非常有用。

我正在使用Visual SVN Server和Tortoise SVN。

(如果需要,我的Qt版本为5.11.1)

我有一个批处理脚本,该脚本确实将2个特定修订版之间的所有日志打印到.txt文件中。

是这样的:

@ECHO OFF

REM This Script Takes all the logs between a given repository's 2 specific revision.

REM Below, we store the first parameter which is the URL of the Repository that is wanted.
SET urlOfRepository=%1

REM Below, we store the second parameter which is the first revision that is wanted.
SET firstRevision=%2

REM Below, we store the third parameter which is the second revision that is wanted.
SET secondRevision=%3

REM Below is the command for getting all the log messages between the first and the second revision that is wanted in the wanted repository and printing to a .txt file.
svn log -r %firstRevision%:%secondRevision% --limit %secondRevision% %urlOfRepository% > svnLog.txt

EXIT /B 0

如果有人可以帮助我,我会很高兴。

如果需要,我可以进一步澄清这个问题,因此请随时通过评论与我联系。

谢谢。

感谢Kostix,答案是:

svn info -r HEAD --show-item revision %URL%

我写了一个脚本来解决我的问题。在这里:

@ECHO OFF

REM This Script writes the revision count of a specific SVN repository

REM Below, we store the first parameter which is the URL of the Repository that is wanted.
SET urlOfRepository=%1

REM Below, is the command that returns the count of revisions in the specifically given SVN repository and writes to a .txt file
svn info -r HEAD --show-item revision %urlOfRepository% > svnCountOfRepoRevisions.txt

EXIT /B 0

1 个答案:

答案 0 :(得分:2)

没有必要做那么复杂-仅

svn log -r HEAD:1 %URL%

应该工作。

特殊的HEAD修订版自动是存储库中的最后一个修订版,而修订版1(显然)是第一个。

Subversion足够聪明,可以跳过URL不包含的修订 存在,也就是说,如果它是在修订版42中添加的,svn log不会抱怨修订版范围[41…1]中没有URL。


您可以通过运行获取更多信息

svn help log

在控制台窗口中。