所以我們有應用程序Pluto和一個應用程序Goofy - 兩者都使用相同的SVN項目。實際上只有一點配置差異。從一個SVN項目獲得2個產品 - 如何僅對某個產品保留某些更改?
現在我面臨這個問題:來自Pluto的客戶需要一些新的更改 - 具體來說,他希望爲Javascript添加功能以及我們在JSF環境中使用的一些xhtml標籤。基本上,這是一個改進的JavaScript-他明智的要求 - 舊的功能必須存在。但是:新功能可能會破壞部分Goofy,因爲Goofy是一個更大的應用程序,並且很難測試。其實古菲是冥王星的超集 - 例如高飛可以做任何冥王星的事情 - 但事實上它只是用於測試,最終的產品駐留在冥王星。
需要修改的文件非常靜態,我認爲其中一個文件的最後修改時間超過半年前。過去兩年肯定不會有多少變化。
我想過的是爲冥王星創建一個分支,在那裏我實現對javascript和xhtml標記的所有更改。開發人員將在trunk上開發,並且在部署之前我會始終合併分支上的更改(這可能會自動完成)。 但是:本地開發存在一個問題 - 因爲它是中繼,新功能只在分支上,所以在爲Pluto本地開發時,新功能將不可用。
另一種方法是使用例如如果應用程序== Goofy加載JavaScript高飛,反之亦然。
最後 - 嘗試和錯誤,例如只是合併所有的變化和修復錯誤:-)
你們會如何決定呢?
+1爲您重構項目的「另一種方法」。 – hometoast