我总是使用svn log命令,例如svn log -rXXXX:YYYY
来获取我的SVN存储库中两个标记之间的提交消息。
我有时会发现的问题是,如果我正在执行一个大型版本,其中包括释放一个从未发布到该环境的标记,之后我就无法提取准确的提交消息列表。
例如,我希望释放01.02.03(r4152)和01.03.02(r4272)之间的差异,现在正常的svn log -r4152:4272
可能看起来像这里的明显答案,但是02.03
branch之前从未发布过(无论如何都是这个环境),所以我注意到01.03.01的修订版 4126 ,它早于标签01.02.03。
所以我从第一次发布01.03
分支的代码,所以我需要能够提取该分支下适用的所有内容的修订消息,而不仅仅是数字修订差异。
有没有办法用svn log
命令执行此操作?
答案 0 :(得分:0)
我不确定我是否100%理解您的请求,但如果您尚未考虑,请考虑以下内容。
下面使用您在不同位置引用的log
命令,尝试找到您想要的内容。这当然取决于您的SVN目录结构,因此根据您的设置方式可能会有所帮助。
例如,如果你的SVN回购如下:
/someproject
/devbranch
/01.02.03release
/01.03.02release
/somethingneverused
如果然后将/someproject
映射到本地文件夹,则应该能够通过命令行转到该文件夹,并从该目录及其子目录运行svn log -r4152:4272
命令。只有级别或以下的项目才会显示在日志中。
如果这还不足以为您提供所需内容,那么您可以使用某些逻辑从/someproject
提取所有日志,然后运行脚本以从/someproject/somethingneverused
中删除日志