乌龟SVN-将主干合并到分支树冲突

乌龟SVN-将主干合并到分支树冲突,svn,merge,tortoisesvn,tree-conflict,Svn,Merge,Tortoisesvn,Tree Conflict,我们在SVN1.8上,我也在使用乌龟SVN1.8 主代码位于/project/trunk上。我将做一个大的更改,所以我在/project/branchs/x中创建了一个分支,它是/project/trunk的副本 作为更改的一部分,我需要重新安排目录结构以处理多个客户端。当前,主干的外观如下所示: /project/trunk/process/xyz/file1.xml /project/trunk/process/xyz/file2.xml 我想改变结构,使其更像: /project/tru

我们在SVN1.8上,我也在使用乌龟SVN1.8

主代码位于/project/trunk上。我将做一个大的更改,所以我在
/project/branchs/x
中创建了一个分支,它是
/project/trunk
的副本

作为更改的一部分,我需要重新安排目录结构以处理多个客户端。当前,主干的外观如下所示:

/project/trunk/process/xyz/file1.xml
/project/trunk/process/xyz/file2.xml
我想改变结构,使其更像:

/project/trunk/process/xyz/client1/file1.xml
/project/trunk/process/xyz/client1/file2.xml
我尝试右键拖动到新文件夹中,并使用上下文菜单将SVN移动到此处。当我在分支中工作时,我需要更改主干中的file1.xml以解决生产问题。我希望在我的分支中进行更改,但当我尝试在Tortoise SVN中进行合并时,它出现了冲突,因为缺少本地文件

这些选项只是给了我解决、推迟或中止的选项。将
/trunk/process/xyz/file1.xml
更改为
/trunk/process/xyz/client1/file1.xml
的最佳方式是什么

我是SVN的新手,所以请友善:)

好吧,你是SVN中“重构地狱”的受害者——这仍然是一个大问题

你至少有两个选择

  • 合并(为了消除树冲突)不是树(整个
    /trunk
    合并到
    /branchs/x
    ),而是单个文件,在您的案例中是
    file1.xml
    • 在分支的WC中,为单个文件选择“合并”,而不是父文件夹,并将主干的
      file1.xml
      作为合并源
    • 对存在树冲突的所有(移动的)文件重复这些合并
  • 迁移到Mercurial至少用于重构
    • (安装Mercurial/TortoiseHG/)
    • 启用(与THG 3.0捆绑)hgsubversion扩展
    • 将SVN回购克隆为Mercurial回购
    • 重构、合并、提交到本地HG
    • (因为合并集不能推回Subversion)将Mercurial repo的技巧归档到未版本的文件中,该文件必须替换Subversion存储库的WC并提交此更改状态(在Subversion中的此版本中,您将获得中断的历史记录)
    • 返回使用Subversion存储库和重构代码

我想,您现在想要“将/trunk/process/xyz/file1.xml中的更改改为/branchs/x/process/xyz/client1/file1.xml”吗?是的,对不起,我是说最后一行的/branchs/x不是/trunk/。你说得对,先生!这对我来说很有意义。我感谢你抽出时间来帮助我。我试过了,它成功了。幸运的是,只有一小部分代码正在被重构,而我是唯一一个进行重构的开发人员。因此,合并并没有它可能那么可怕!