【问题标题】:SVN. Merge every single branch revision separatelySVN。分别合并每个分支修订
【发布时间】:2014-01-23 17:03:37
【问题描述】:

我们需要将分支合并回主干。

我们希望所有来自分支的提交消息也来自主干。

所以我们可能必须单独合并每个修订,例如:

原始提交消息:“修复了那个错误”

合并后提交消息“从分支合并:修复了那个错误”

有人知道自动化的方法吗?

谢谢

【问题讨论】:

    标签: svn merge


    【解决方案1】:

    这不是您想要的,但我将向您展示如何获得您想要的信息,而无需编写任何脚本。

    从 1.5.0 开始的 Subversion 具有 --use-merge-history-g 选项来记录。如果您进行合并,那么当您执行 -g 时,它会在日志中显示来自合并修订版的日志消息。

    例如你会有这样的输出:

    $ svn log -g
    ------------------------------------------------------------------------
    r5 | breser | 2014-01-23 10:00:57 -0800 (Thu, 23 Jan 2014) | 2 lines
    
    Merged badbug branch
    
    ------------------------------------------------------------------------
    r4 | breser | 2014-01-23 10:00:41 -0800 (Thu, 23 Jan 2014) | 2 lines
    Merged via: r5
    
    Fix that bad bug
    
    ------------------------------------------------------------------------
    r3 | breser | 2014-01-23 10:00:10 -0800 (Thu, 23 Jan 2014) | 2 lines
    Merged via: r5
    
    Create badbug branch
    
    ------------------------------------------------------------------------
    r2 | breser | 2014-01-23 09:58:07 -0800 (Thu, 23 Jan 2014) | 2 lines
    
    Add foo
    
    ------------------------------------------------------------------------
    r1 | breser | 2014-01-23 09:57:51 -0800 (Thu, 23 Jan 2014) | 2 lines
    
    Create trunk and branches
    
    ------------------------------------------------------------------------
    

    注意 r3 和 r4 如何有 Merged via: 行。因为这些修订已由 r5 重新合并,并通过合并跟踪显示。

    如果您不喜欢这样,您将不得不编写一些脚本来确定要合并的修订,然后为每个复制日志消息的修订进行樱桃选择合并。您可以使用svn mergeinfo --show-revs eligible ^/branches/source ^/branches/target(其中源是要合并的分支,目标是要合并到的分支)来获取要合并的合格修订的列表。然后只需使用svn propget svn:log --revprop -r $REV 获取提交消息,修改消息以添加标题说它是合并,运行svn merge -c $REV ^/branches/source ^/branches/target -m $MESSAGE

    但在我看来,要处理客户可以通过-g 为您做的事情需要做很多工作。

    【讨论】:

      猜你喜欢
      • 2011-04-22
      • 1970-01-01
      • 2011-01-04
      • 2013-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-01
      相关资源
      最近更新 更多