我总是使用 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
关于svn - 当修订跨分支重叠时,使用 svn log 提取标签之间的提交消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15065516/