2014-11-25 51 views
1

我需要了解將相同源代碼/庫用於多個應用程序的最佳實踐。要求是,例如我向一些公司銷售我的代碼/庫,可以說xyx,然後我應該在我的軟件包(以及其他需要的地方)中使用xyz作爲公司名稱。後來,如果某個其他公司的pqr想要該代碼/庫,我需要手動去更改所有包名稱(和其他),並在源代碼管理軟件中創建另一個存儲庫。這項任務非常耗時,並且效果不佳。
每當我在基本代碼中發現錯誤時,我需要將相同代碼和發佈庫的所有副本中的更改提交給所有公司。如何維護代碼以便可以在多個軟件中使用?

我想找到如何處理這種情況。

我在這裏談論一些Java軟件包(包含我希望在所有公司的軟件中使用的非常基本的功能),並且我使用的是tortoise svn作爲存儲庫。

+0

爲什麼git標籤呢?你是否確定在上述情況下你必須重命名這些包?這些事情說,我認爲你的問題可能是更適合http://programmers.stackexchange.com/ – reto 2014-11-25 07:15:38

+0

GIT是萬一它可以幫助我的要求。我不確定http://programmers.stackexchange.com/。我應該在那裏發表同樣的問題嗎? – 2014-11-25 07:25:35

+1

根據他們的描述http://programmers.stackexchange.com/help/on-topic你的問題類型似乎更適合那裏。通常你會移動你的問題(在這裏關閉它)。 – reto 2014-11-25 07:30:38

回答

3

如果您要銷售代碼/庫,這意味着您要提供交貨由於包裝操作而產生。
換句話說,你不給回購本身,而是一個打包組文件(如,例如,歸檔,zip文件)

這意味着在你的回購版本不具備的來源包括公司名稱。它們可以包含一個模板字段(如@[email protected]),並且在檢出該代碼時可以將正確的值代替該模板字段。

在Git中,這個用在.gitattribute(如in here)宣佈了一個腳本,並存儲實際值 git的回購協議被稱爲content filter driver(這樣一來,他們不能被錯誤地推)

smudge

(從 「Customizing Git Attributes」 從Git Book圖像)

使用SVN,你可以考慮使用「 Keyword Substitution「。

在這兩種情況下(GIT或SVN),這個想法是在它@公司@版本的源文件,每當你需要釋放該庫的客戶需求生成正確的價值的文件。

不要將開發(發生在你的Git或SVN回購)與發佈管理(它可以使用不同的進程,如代表目標公司名稱的文件,用於評估源文件),如果該文件不存在,結帳時源文件保持不變)

+0

感謝分享。這看起來像回答我的問題。我會去實施這個,並將其標記爲答案。再次感謝。 – 2014-11-25 09:03:30

相關問題