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