开发分支和主干是不一致的,我不能让它们同步

时间:2009-11-23 16:12:21

标签: svn merge

我在合并中有点迷失。我在一个分支中开发并在完成一段代码时将其合并到主干中。不知何故,主干和分支之间仍然存在差异,这意味着每次从分支切换到主干或其他方式时,都会更新,添加和删除多个文件。

如上所述,我有些失落,并认为必须有一个非常简单的解决方案;我只是没有看到它。

任何帮助或指示表示赞赏。如果您需要更多信息,请询问。

更新

我现在手动编辑所有文件是相同的并且多次提交它们。 现在所有文件在技术上都是相同的,但出于某种原因,当从分支切换到主干或相反时,它们仍然显示为更新文件。

更新2:

当仍然切换4个文件时,1个目录显示为已更新,即使它们在分支/主干上完全相同。有没有办法解决这个问题,为什么会发生这种情况?

有什么想法吗?

5 个答案:

答案 0 :(得分:2)

为了成功重新集成分支,首先必须将所有修订从主干合并到分支。这将使分支与主干完美同步(理论上)。完成后,您应该能够将分支重新集成到主干中。

另外,我只是自己重新整合了一个分支并且第一次搞砸了。我最终做的是在拙劣的合并之前检查一个新的分支副本,然后我在干净的副本上运行合并并更新,最终能够完成它。

如果您尝试重新集成分支时收到有关缺少修订的错误,则这些修订需要您从主干到分支专门合并,然后再试一次。

答案 1 :(得分:2)

从主干到分支进行合并不一定会将它们同步到一起。将更改从分支合并到主干后,提交中继,然后从主干到分支进行合并,然后一切都应该同步。

答案 2 :(得分:1)

我在从一个分支到另一个分支的合并中经常出现的混乱之一就是你试图比较两个分支的头部并将差异应用到目标分支。

您实际想要做的是获取您在Source分支中所做的所有更改的差异,并将该差异应用于Target分支。

除非在特殊情况下,否则请尝试比较两个分支的负责人......

我不知道这是不是在绊倒你,但这是需要考虑的事情。

更新

我也忘了先将后备箱上的变化合并到分支机构......感谢其他提醒我的海报:)

答案 3 :(得分:0)

您似乎正在使用svn switch为两个存储库重用相同的工作目录。你为什么那样做?只需维护两个工作目录,并根据需要在每个目录上调用svn update以下拉其他人所做的更改。

答案 4 :(得分:0)

在与SVN 1.6合并时,它会跟踪分支中已有的特定主干修订,并知道如何仅合并分支中没有的修订。

如果您使用的是SVN 1.5或更早版本,则可能会遇到所述行为。旧版本的SVN根本不“记住”已合并的内容,并再次完成整个过程。即使净效应可能是您的文件未更改。