我们使用的是 SVN 1.8,我也在使用 Tortoise SVN 1.8。
主要代码位于/project/trunk。我将要做一个大的改变,所以我创建了一个分支/project/branches/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 Move Here。当我在分支中工作时,我需要对主干中的 file1.xml 进行更改以解决生产问题。我希望在我的分支中进行这种更改,但是当我尝试在 Tortoise SVN 中进行合并时,它会出现冲突,因为本地文件丢失。
这些选项只是给我提供解决、推迟或中止的选项。获得改变的最佳方式是什么/trunk/process/xyz/file1.xml
into /trunk/process/xyz/client1/file1.xml
?
我是 SVN 的新手,所以请友善:)
好吧,你是 SVN 中“重构地狱”的受害者 - 这仍然是一个大问题
你至少有两个选择
- Merge (in order to eliminate tree-conflict) not trees (the whole
/trunk
into /branches/x
), but individual files, file1.xml
in you case.
- 在分支的WC中,为单个文件(而不是父文件夹)和主干的文件选择“合并”
file1.xml
作为合并源。
- 对所有存在树冲突的(已移动的)文件重复这些合并
- Migrate to Mercurial at least for refactoring
- (安装 Mercurial /TortoiseHG/)
- 启用(与 THG 3.0 捆绑)hgsubversion 扩展
- 将 SVN-repo 克隆到 Mercurial repo
- 重构、合并、提交给本地 HG
- (因为合并集无法推回到 Subversion)将 Mercurial 存储库的归档提示放入未版本化的文件中,该文件必须替换 Subversion 存储库的 WC 并提交此更改状态(您将在 Subversion 中的此版本中获得损坏的历史记录)
- 返回使用 Subversion 存储库并重构代码
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)