SVN如何合并类似的文件树(合并两个分支)

时间:2011-10-05 15:30:04

标签: svn merge branch

我想做什么:

branch A -> part of the project, e.g:
/project/module/a
/project/module/a/file-1

branch B -> part of the project, e.g:
/project/module/b
/project/module/b/file-2

deployment branch -> merge of A and B
/project/module/a
/project/module/a/file-1
/project/module/b
/project/module/b/file-2

有人会认为这是可能的,但我无法让它发挥作用......

这是怎么回事:

我将A合并到部署中没有问题,但是当我尝试合并B后,我得到树冲突,从我读到目前为止svn认为A“已删除”B反之亦然......这就是冲突? svn只能合并基本相同的树吗?

如果我理解了分支的概念,那么应该通过复制主干来创建它们,从而复制整个源...所以将模块(整个源/项目的一部分)放入分支不是一个好主意甚至不可能?

我需要的只是添加不试图找到A和B的交集的东西,因为事实上这不起作用:/

_ 修改 _

从/ project / module / a和/ project / module / b合并没有用,因为模块会分成更多文件夹,例如:

A:    
/project/module/stuff/a
/project/module/things/a    
B:    
/project/module/stuff/b
/project/module/things/b

所以人们想要的是,至少要从模块中合并,否则就必须单独合并每个子文件夹,这与整个自动合并相矛盾??

顺便说一下这个结构不是我的选择,我必须使用它

2 个答案:

答案 0 :(得分:0)

从模块开始合并,而不是从树的基础开始: 所以对于模块a,从/ project / module / a开始合并 对于模块b,从/ project / module / b

开始合并

答案 1 :(得分:0)

如果模块没有普通父母,则会产生奇怪的结果

从另一侧svn合并接受URL作为两个参数

你能展示在任务中使用的真正的完整命令吗?我无法从脑海中看到问题

svn merge URLBranchA URLBranchB .

实际上,在描述树的情况下,你必须使用svn;外部并且忘记合并