我不断遇到树冲突,我似乎无法理解甚至阅读所有主题的原因。我的背景是明确的,所以svn对我来说是新的。当我将它与任何clearcase活动联系起来时,树冲突没有意义。以下是导致问题的情况。
我有树干,分支和标签区域的标准svn结构。 主干是我们的生产代码,开发人员不在这里工作。
情况是这个开发人员在分支区域中创建一个名为fix1的目录,并从中继复制该区域中的文件。完成工作后,发布组将更改合并回主干。这很好用
下一个开发人员在名为fix2的分支下创建一个目录,并从trunk获取该文件的副本(在前一个例子中由rm合并回来)当他的更改完成后,它将合并回trunk,我们得到一个树冲突。
在所有情况下,开发人员都在他的工作区域做了一个svn并且rm人在合并之前做了一个svn
在这两种情况下,rm人员将目录更改为trunk并执行了svn合并../branches/fix1或svn merge ../ branches / fix2
问题是三折
导致树冲突的原因是什么?
当我解决冲突(svn resolve -R --accept = working)时,我不会将文件的内容合并回来吗?
此类工作的推荐方法是什么?
任何帮助都会受到极大关注。
由于
答案 0 :(得分:2)
问题可能来自您创建分支的方式:
此开发人员在分支区域中创建一个名为fix1的目录,并将该文件从主干复制到此区域中。
那不是应该做的。您不应手动复制文件。相反,您应该从主干创建一个分支,将您的工作副本切换到此分支,进行修改和提交。每隔一段时间,当分支上的工作完成时,您应该从主干到分支合并,以将所有更改从主干到分支。
然后你应该切换到trunk,将分支重新集成到trunk,提交和删除分支。
the SVN book更详细地解释了这一点。