我接手了一个软件项目,决定把所有东西都放在SVN下(上Assembla http://www.assembla.com/)使用 Tortoise SVN。树干在ROOT下。所以主干包含了整个应用程序(我标记为 1.0)。对于我的第一个重要功能,我创建了一个名为“dev”的功能分支。
我可以毫无问题地将主干分支中的更改合并到开发分支中(因为我正在进行小错误修复)。一旦我的功能完成,我就合并回主干分支。到目前为止一切都很顺利。 ROOT下的新代码正确显示了新功能。但后来我做了一次提交(合并结果),现在每次我尝试从根或开发分支进行合并时,SVN 都会抱怨许多文件上的“树冲突”。即使是合并后我没有碰过的文件。我试图解决冲突,但没有成功。
我是唯一的开发人员,所以我并不真正关心存储库的重大更改。但如果可能的话,我仍然想保留所有文件的历史记录。
解决这个问题的最佳方法是什么?有没有办法可以将根主干中的所有最新文件标记为文件的“确定”版本?
[编辑]更多信息
- 是的,“主干”和“主干”是同一件事。我已经澄清了我的问题
- 当你从功能分支合并回来时,你是否首先从主干进行另一次合并以中止最新的主干更改?”是的。主干是最新的。并且开发分支拥有主干的所有更改。
- “提交时一切都搞砸了”:我的意思是提交很好,但是当我开始从主干/到主干进行合并时,SVN 抱怨“树冲突”。
- 我有超过 200 个树冲突。所以我正在寻找的是“接受全部”命令
[编辑] elhoim 解决方案没有解决我的问题。然而,他对 SVN 版本问题的看法是正确的。目前(2009-10-28),Assembla 使用的是 SVN v1.5.1,而我的 tortoiseSVN 是 v1.6。这就是我遇到这么多树木冲突的原因。我尝试使用 elhoim 链接提供的解决方案,但它不起作用(在尝试 HEAD-to-HEAD 合并之前,我尝试了多次合并。因此,某些文件没有转移到根分支)。
看到 HEAD 到 HEAD 合并仍然不起作用,我决定简单地删除分支文件夹中的所有“.svn”文件,将文件复制到 ROOT 文件夹中并进行提交。
这个答案 https://stackoverflow.com/questions/1008681/svn-unable-to-merge-branch-back-into-trunk-numerous-tree-conflicts/1008805#1008805应该有帮助。
另外,你使用的是乌龟SVN客户端1.6.x吗?它似乎如果SVN服务器低于1.5.6会有问题 http://martinsantics.blogspot.com/2009/07/tortoise-svn-bizarre-tree-conflicts.html...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)