代码之家  ›  专栏  ›  技术社区  ›  cdeszaq Sudhir N

合并是不是在Subversion中的一个问题?

  •  13
  • cdeszaq Sudhir N  · 技术社区  · 15 年前

    情况如下:在一个特定的分支上,一些更改已经合并到 主干以及对分支的更改已被合并回 进入之内 后备箱。

    我的问题是:如果我试图合并回去,那么Subversion中的合并管理会做什么? 进入之内 分支的主干是一个修订版,它本身只是一个合并。 树干到树枝?

    这会引起问题吗?如果是,是什么类型?或者这应该是一件完美的事情吗?

    或者,新的合并只是像其他合并一样处理这些更改,并尝试应用它们?

    3 回复  |  直到 15 年前
        1
  •  4
  •   sebasgo    15 年前

    这是一个场景,即使是更新的SVN版本的合并跟踪也无法自动处理。因此,您已经指定了要手动合并回主干中的修订,并且必须确保排除从主干到分支合并的修订。

    如果您尝试重新定位已经存在主干的更改,它们将被视为正常修改。这必然会导致冲突。

        2
  •  4
  •   Philip Rieck    15 年前

    这部分取决于您使用的SVN版本。

    在1.5之前,根本没有合并跟踪,所以您必须合并您想要返回的修订。大多数人都用“svnmerge”这个脚本名。如果需要,您可以使用它,并将已完成的修订标记为合并-之后,svnmerge将在选择正确的修订和跳过已合并的修订方面为您提供一些帮助。

    1.5(及更高版本)提供了一些合并跟踪,但它还没有全部功能。在您的特定情况下(合并两种方式),我认为SVN的跟踪无法处理它。您可能需要手动前后合并您想要的每个修订。

    就个人而言,当我在使用SVN的项目中时,我更喜欢使分支有点短暂,并且只合并一种方式(从主干到分支),直到最后从分支到主干的合并。一旦我完成了这项工作,我要么将所有的东西合并到主干中并关闭分支,要么将我想要的东西合并并关闭分支。由于可能出现合并问题(很容易出错),我几乎从未让分支保持活动状态。

        3
  •  2
  •   Laurynas Biveinis    15 年前

    使用1.5或更高版本的Subversion,必须指定 --reintegrate 选择SVN合并,以便仅作为以前合并的副本的合并“相反”。

    注意 1)由您决定何时使用此选项 2)这将是该分支最后一次合并。在此合并之后,SVN将认为分支已死,进一步的工作将需要销毁并重新创建分支。

    这是直接从 svn docs 尽管文档可以使用更精细的细分到子部分。