我创建了一个功能分支,因为我需要重组一个相当大的项目。功能分支是 70% 的移动内容,20% 的修改代码和 10% 的新代码。它看起来像这样。
Trunk Branch Actions
2000 = 2001 create branch
| 2002 move lots of file and directories plus a few file edits
| 2003 lots of edits plus a few more file moves
2004 | a few edits to files that have been moved in the branch
| 2005 some more edits and a new file or two
2006 | a few edits to files that have been moved in the branch
| 2007 feature is done... time to pull changes from the trunk
当我尝试将更改从主干拉到分支中时,我看到一个“树冲突”错误,而没有太多其他内容。这是我在跟踪一个在分支中移动并在主干中修改的文件时发现的。
\old\path\file.txt - trunk version 2006
\new-path\file.txt - branch version 2007
---- I would like ----
\new-path\file.txt - merged trunk version 2006 and branch version 2007
我正在使用 SVN 1.7 和最新的 TortoiseSVN 客户端,所以我认为更改会被自动跟踪,这不会发生......我想我错了。我的第一个想法是使用命令行创建另一个分支,然后一个接一个地合并变更集,直到我让一切重新工作,但我不确定使用哪些参数来执行此操作。我觉得 2002 年的承诺完全摧毁了我的祖先/历史,但我不确定。
有关如何解决此问题的任何建议?