3

我总是使用 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命令做到这一点?

4

1 回答 1

0

我不确定我是否 100% 理解您的要求,但是如果您还没有,请考虑以下事项。

下面使用log您从不同位置引用的命令,试图得到您想要的。这当然取决于您的 SVN 目录结构,因此它可能有帮助,也可能没有帮助,具体取决于您的设置方式。

例如,如果您的 SVN 存储库看起来像:

 /someproject
    /devbranch
    /01.02.03release
    /01.03.02release
    /somethingneverused

如果您随后映射/someproject到本地文件夹,那么您应该能够通过命令行转到该文件夹​​并svn log -r4152:4272从该目录及其子目录运行命令。只有处于该级别或以下的项目才会显示在日志中。

如果这还不足以为您提供所需的内容,那么您可以使用一些逻辑从其中提取所有日志,/someproject然后运行脚本以从中删除日志/someproject/somethingneverused

于 2014-08-01T21:31:56.787 回答