我觉得我拥有SVN世界上最简单的用例:
Test.java
中有一个文件trunk
。trunk
分支到dev-branch
。Test.java
移至com/mycompany
中的trunk
文件夹。Test.java
更改dev-branch
。dev-branch
合并到trunk
。为什么,为什么,SVN不能处理这个?我们做错了吗?这感觉应该很容易,但我公司的每个工程师都受到了阻碍。
在这里寻找面向SVN的答案(不是'移动到git'等)。
答案 0 :(得分:8)
在SVN中,移动是删除和添加。当您在分支中合并时,它将执行移动的添加部分,但由于冲突,它无法执行删除操作。您现在必须通过
手动解决冲突Test.java
复制到com/mycompany/Test.java
,覆盖旧版本。这解决了与该文件的冲突。Test.java
文件。这是执行合并时SVN无法执行的更改集删除部分的手动方式。使用svn delete Test.java
命令。 svn resolve --accept working .
最后的点是当前目录Test.java
文件的冲突也是通过svn resolve --accept working Test.java
然后您可以提交合并后的版本,并且您又与存储库保持同步。