我有一种情况,我分支中继,在我的分支机构进行了几天的开发工作后,其他人更改了trunk中项目目录的名称。像这样的东西: from / Project / Directory / trunk / old_dir_name 到/ Project / Directory / trunk / new_dir_name
这给我带来了一系列问题(当然)。
查看他执行此操作时的日志条目,它显示的是: 操作路径从路径修订复制 已删除/项目/目录/ trunk / old_dir_name 添加/ Project / Directory / trunk / new_dir_name / Project / Directory / trunk / old_dir_name 12345
当我尝试将trunk的测试合并到我的分支中以便我有最新的更新时,我在一个文件上遇到了冲突错误。如果我尝试对该文件的最新版本进行测试合并,我会得到:错误存储库永久移动到'... /!svn / bc / 13649 / Project / Directory / old_dir_name / trunk'。
如何解决此问题,以便根据需要更新我的分支?
(如果重要的话我们使用TortoiseSVN前端)。
答案 0 :(得分:0)
这是自2002年以来众所周知的svn bug - 请参阅here。
例如,如果您在分支中重命名文件/目录(或其下的文件),并且在主干上更改了文件/目录(或其下的文件),则将分支合并到主干上会有问题。
为什么会这样?这很简单 - svn重命名实现为删除文件(a)并添加新名称(a')。因此,我的示例中的分支上的(a')和(a)不是从同一文件继承的。 Hovewer,svn尝试最小化问题并添加(a')关于(a)的标签信息,所以如果你svn登录(a'),你会看到重命名动作,以及(a)的变化。