我正在组建一个团队,其中有许多人对版本控制系统的概念非常不熟悉,而且只是通过反复试验来做任何看似有用的事情。有人从行李箱创建了一个“分支”,这个分支与主干没有祖先关系。我的猜测是这样的:
branches
。因此存储库并不知道所有代码实际上只是主干的副本。当我在TortoiseSVN中查看该分支的历史记录,并且取消选中“在复制/重命名时停止”框时,没有修订版具有“复制自”下的主干(或任何其他路径)路径“专栏。
然后他们对他们的“分支”做了很多改变。与此同时,其他人正在对行李箱进行大量改动。我们试图做merge
,当然它不起作用。因为,行李箱和假枝不是祖先相关的。
我只能看到两种解决方法:
这涉及7个版本的单向修改或11个版本的修改,因此没有一个真正那个可怕。但有没有办法让存储库“意识到”该分支确实是祖先相关的,即使它是错误创建的,这样我们就可以利用Eclipse / TortoiseSVN中的内置合并功能了?
(您可能想知道:为什么贵公司雇用这些人并允许他们访问SVN存储库而不确定他们是否知道如何正确使用它?!我们没有 - 这是一个学校作业,是两个不同阶级之间的合作 - 下层阶级的合作给了SVN一个非常快速的手动“概述”,它没有真正教给他们任何东西。我已经要求小组中的每个人请请阅读{ {3}},我将确保我们(团队中稍微有点经验的一半)密切关注存储库,以确保不再发生这种情况。)
答案 0 :(得分:3)
您必须在merge命令中使用 - ignore-ancestry 。通过此SVN将忽略文件是否被添加为新的。它只是寻找文件名