代码之家  ›  专栏  ›  技术社区  ›  Christian Strempfer

如何在版本控制系统中处理不可合并的文件?

  •  2
  • Christian Strempfer  · 技术社区  · 15 年前

    我在一个模型驱动的环境中工作,其中Java代码是由AndroMDA的MaGICDRAW模型生成的。模型是迭代开发的,因此如果我们创建分支,就必须合并它们。但正如我所知,模型不能合并,因为每次保存模型时,每个元素的每个ID都将被替换。

    但是我想使用分支,这样每个任务都是独立的,并且有一个明确的起点和终点。

    你会怎么处理?这可能不是技术问题,而是组织问题。如何在不破坏分支的情况下将模型排除在外?或者魔术师模型有什么解决方法吗?

    (OffTopic:未签入生成的文件。)

    2 回复  |  直到 15 年前
        1
  •  2
  •   Jim T    15 年前

    某些格式无法使用标准源代码管理工具自动合并。普通工具依赖于这样一个假设,即可以插入、更改或删除一行,而不会影响文件中的每一行。有些格式不遵循这种假设。

    有时,这些令人恼火的格式有自己的合并工具,可以在源代码管理工具失败后使用。我找不到阻止Subversion尝试自动合并文件的方法(功能请求?),但如果Subversion失败,它将在工作副本中转储2个文件,表示2个版本。

    在这一点上,您可以在这里尝试: http://www.magicdraw.com/main.php?ts=navig&cmd_show=1&menu=merge

        2
  •  3
  •   Ben James    15 年前

    我没有使用过andromda,所以我不确定这是否适用于您的情况。

    但是,一般来说,如果项目中的任何内容是自动生成的,那么我不会将生成的输出置于版本控制之下,而是将生成过程作为构建过程的一部分。