【问题标题】:Don't diff merges with SVN不要 diff 与 SVN 合并
【发布时间】:2011-09-12 10:53:25
【问题描述】:

我想了解我在功能分支上所做的所有更改的差异。

目前我使用

svn log --stop-on-copy | awk '/^r.+NAME/{print $1}' | xargs -l svn diff -c > code.diff

不幸的是,这包括将主干合并到我的分支中并使差异混乱的修订。有没有办法让 svn log 跳过合并或让 diff 忽略它们?

【问题讨论】:

    标签: svn shell version-control


    【解决方案1】:

    只要您将主干的所有修订合并到您的分支中,您就可以区分主干(上次合并的修订)和分支(头部)的两个树

    一些 ascii 艺术需要澄清:

                          r6            r9     r11
                  --------+-------------+------O-->  branch
                 / (1)   / (2)    (3)  /(4)
     trunk -----+-------+--------O----+----------O------>
               r4      r6       r7   r9          r12
    

    (1) 你开始你的分支

    (2) 你将你的主干与来自主干的所有提交同步

    (3) 这是主干上的提交

    (4) 您还必须合并 (3) 的提交(因此主干中不会丢失未合并到分支中的修订)

    然后您可以区分 branch:r11trunk:r9

    请注意,您不能使用trunk:HEAD 进行区分,因为这样会显示trunk r12 的更改。

    这正是 reintegrate merge 的工作原理。

    【讨论】:

    • 谢谢。这解决了额外合并成本的问题。
    猜你喜欢
    • 2013-07-07
    • 1970-01-01
    • 2010-12-12
    • 1970-01-01
    • 2011-01-29
    • 1970-01-01
    • 1970-01-01
    • 2013-07-01
    • 2012-09-15
    相关资源
    最近更新 更多