2012-12-27 53 views
1

我不断收到树冲突,我似乎无法理解甚至读取所有线程的原因。我的背景清晰,所以svn对我来说是新的。当我将它与任何明确的活动联系起来时,树冲突是没有意义的。以下是我的情况,导致问题。svn树冲突

我有trunk,branches和tags区域的标准svn结构。 干线是我们的生产代码,开发人员不在这里工作。

情况就是这个开发者在分支区域创建一个名为fix1的目录,并从trunk中复制文件在这个区域中工作。工作完成后,发布组将合并更改回主干。这可以正常工作

下一步开发者需要在分支名称为fix2下创建一个目录,并在完成更改后从trunk中获取该文件的副本(刚刚在前面的示例中由rm合并),将其合并回主干我们得到一个树冲突。

在所有情况下,开发商在他的工作区做了一个SVN起来,并将RM人做了SVN了合并之前回

在这两种情况下的RM人改变目录到躯干和做一个svn合并。 ./branches/fix1或svn合并../branches/fix2

的问题是三折

是什么原因造成的树冲突?

当我解决冲突(svn resolve -R --accept = working)然后我没有得到文件的内容合并回来?

这种类型的工作推荐的方法是什么?

任何帮助将大大appriciated。

感谢

+0

愚蠢的问题,但我假设在执行svn合并后提交了trunk? – ESG

+0

是提交完成。 –

回答

2

的问题可能来自于你创建分支的方式:

该显影剂,创建了一个名为fix1在分支区域和复制文件从在这一领域工作的目录树干。

这不是应该做的。您不应该手动复制文件。相反,你应该从trunk中创建一个分支,将你的工作副本切换到这个分支,进行修改和提交。按照固定的时间间隔,当分支上的工作完成时,您应该从中继线合并到分支,以便将中继线中的所有更改合并到分支中。

然后你应该切换到树干,重新集成分支到树干,提交和删除分支。

这在the SVN book中有更详细的解释。

+0

所以你说cd到branches目录和d svn mkdir fix1然后切换到这个区域然后做这个工作?不要使用复制,这是提供给我的信息。你能否给我提供一个例子和一些关于这方面文档的链接?谢谢 –

+0

不,那不是如何创建分支。一个分支是使用'svn copy'创建的。我已经在我的答案中链接到SVN书籍,但这里有另一个链接:http://svnbook.red-bean.com/en/1.7/svnbook-book.html#svn.branchmerge –

+0

也许我错误地指出了一些东西。干树枝副本假设我相信树干的全部副本(所有文件)我可能只需要一个文件,这就是为什么我做了从树干到树枝的特定文件的svn副本,然后做了我在树枝上的工作direcory n一个文件 –