2009-11-04 48 views
2

我正在模型驅動的環境中工作,其中Java代碼由AndroMDA的MagicDraw模型生成。模型是迭代開發的,因此如果我們創建分支,我們將不得不合並它們。但據我所知,這些模型不能合併,因爲每次保存時,每個元素的每個id都將被替換。如何處理版本控制系統中的不可合併文件?

但我想用樹枝,讓每一個任務是自包含的,並有明確的起點和終點。

你會如何處理這個問題?這可能不是一個技術問題,而是一個組織問題。如何在不破壞分支的情況下將模型排除在外?或者是否有MagicDraw模型的任何解決方法?

(Offtopic:生成的文件不簽入)

+0

爲什麼是版本控制下生成的代碼呢?您可以使用MagicDraw模型創建分支,但不生成Java文件... – Stan 2009-11-04 11:44:42

+0

- 未檢入生成的文件。 - 我可以使用該模型創建分支,但是它是迭代開發的,因此我們需要合併不同的型號版本。 – 2009-11-04 12:11:47

回答

2

某些格式不能自動使用標準的源代碼控制工具合併。普通工具依賴於可以插入,更改或刪除行而不影響文件中的每一行的假設。有些格式不符合這個假設。

有時,這些刺激性的格式有自己的合併工具,它可以將源代碼控制工具已經失敗後使用。我無法找到一種方法來防止顛覆嘗試自動合併文件(功能請求?),但是如果顛覆失敗,它將在代表2個版本的工作副本中轉儲2個文件。

在這一點上,你可以試一下: http://www.magicdraw.com/main.php?ts=navig&cmd_show=1&menu=merge

+0

我可以將模型標記爲二進制文件,以避免自動合併或將這項事業的問題? – 2009-11-06 13:08:21

+0

是的,這是一般的想法。只要將它標記爲二進制,如果你不希望它合併,它將只使用新版本覆蓋而不是合併,如果你分支/改變它。 – 2009-11-16 00:38:51

3

我沒有使用AndroMDA的,所以我不知道這是否適用於你的情況。

但是一般來說,如果被自動生成項目中的話,那麼我不會把版本控制下生成的輸出,而是使構建過程中產生的部分。

+0

生成的文件都沒有檢查。 – 2009-11-04 12:09:28

相關問題