代码之家  ›  专栏  ›  技术社区  ›  Mark Galeck

svn:如何将分支的工作副本与主干的特定版本进行比较

svn
  •  0
  • Mark Galeck  · 技术社区  · 6 年前

    这是一种非常常见的情况,我在svn文档或google fu中找不到解决方案。

    假设我从主干的“已知良好”修订版复制一个分支,然后检查它:

    >svn copy -m 'my branch' -r 100 svn+ssh://svn/trunk svn+ssh://svn/my_branch
    >svn co svn+ssh://svn/my_branch
    >cd my_branch
    

    现在我对下面的文件做了很多编辑 my_branch 目录,并定期与主干的“已知良好”修订版合并,如下所示:

    >svn merge -r 100:110 svn+ssh://svn/trunk
    

    在任何时候,我和我的审稿人,想看看,所有文件在 我的分支 目录,与上次合并的主干版本相比(这些是我的编辑+可能是冲突合并导致的更改)。因此,工作副本中所有文件与修订版110中相应文件之间的所有差异 svn+ssh://svn/trunk .

    怎么做?

    编辑:uzsolt建议:

    svn diff ^/trunk@REV1 ^/my_branch@REV2
    

    这是一个好的开始,但我已经做了这样的事情,这个建议有两个问题:

    1.它打印了我的零钱,加上一大堆:

    Property changes on: path/to/foobar
    ___________________________________________________________________
    Modified: svn:mergeinfo
        Merged trunk:r90-110
    

    我不想要那些。

    2.我不想提交我的更改,然后将该修订与主干的修订进行比较。我想把工作副本和修改后的主干进行比较。

    2 回复  |  直到 6 年前
        1
  •  0
  •   uzsolt    6 年前

    也许我误解了你,但也许以下几点对你有帮助:

    svn diff ^/trunk ^/my_branch
    

    如果需要,可以附加修订号:

    svn diff ^/trunk@REV1 ^/my_branch@REV2
    
        2
  •  0
  •   Mark Galeck    6 年前

    我工作的当地专家凯文给出了以下答案:

    svn diff --old ^/trunk@110 --new .
    

    你还是得把所有的 Property changes on: 东西。