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

为什么svn merge什么都不做?

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

    我想详细了解 svn merge 作品。

    test 分两次修订:

    在版本230553中,它有一个字符 /

    在版本235554中,它有一个字符 $

    svn diff -r 230553:230554 test
    Index: test
    ===================================================================
    --- test        (revision 230553)
    +++ test        (revision 230554)
    @@ -1 +1 @@
    -/
    +$
    

    当前本地版本,改回 . 现在,我希望如果这样做:

    svn merge test@230553 test@230554
    

    $ . 但是不,什么都没发生,命令成功,没有抱怨,但是文件 测试

    我在这里不明白什么?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Laurent H. chthonicdaemon    6 年前

    实际上,当您运行命令行时 svn merge test@230553 test@230554 ,您正在尝试将已对版本230554所做的修改应用于本地文件。这里的问题是,默认情况下,如果已经对祖先做了相同的修改,那么SVN不会执行合并。所以你必须以更友好的方式询问 --ignore-ancestry

    svn merge test@230553 test@230554 --ignore-ancestry