为什么 svn merge 什么都不做?
Why doesn't svn merge do anything?
我正在尝试详细了解 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
本地副本将更改为$
。但是没有,什么也没发生,命令成功,没有抱怨,但是文件 test
甚至没有被触及。
我哪里不明白?
事实上,当您 运行 命令行 svn merge test@230553 test@230554
时,您正试图将您在修订版 230554 上所做的修改应用于您的本地文件。您的问题是,默认情况下,如果已经对祖先进行了相同的修改,SVN 不会执行合并。所以你必须用选项 --ignore-ancestry
以更友好的方式询问它。此行应该有效:
svn merge test@230553 test@230554 --ignore-ancestry
我正在尝试详细了解 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
本地副本将更改为$
。但是没有,什么也没发生,命令成功,没有抱怨,但是文件 test
甚至没有被触及。
我哪里不明白?
事实上,当您 运行 命令行 svn merge test@230553 test@230554
时,您正试图将您在修订版 230554 上所做的修改应用于您的本地文件。您的问题是,默认情况下,如果已经对祖先进行了相同的修改,SVN 不会执行合并。所以你必须用选项 --ignore-ancestry
以更友好的方式询问它。此行应该有效:
svn merge test@230553 test@230554 --ignore-ancestry