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

时间:2009-11-04 11:35:10

标签: svn version-control

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

但我想使用分支,因此每个任务都是自包含的,并且具有明确的起点和终点。

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

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

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:2)

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

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

此时,您可以尝试: http://www.magicdraw.com/main.php?ts=navig&cmd_show=1&menu=merge