版本控制-当修订在分支之间重叠时,使用svn日志提取标记之间的提交消息



我总是使用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 中删除日志

最新更新