2009-04-16 74 views
4

我的公司有兩個或三個網絡應用程序,它們使用了大量的通用代碼 - 一個自定義的MVC框架,實用程序類,JavaScript庫等等。具有共同代碼的多個應用程序 - 如何處理此問題?

我們不希望在每個應用程序中複製所有代碼,因爲我們最終會使用幾個稍微不同的版本。但我們不希望這些應用程序需要此代碼的完全相同副本,因爲我們不希望更新某個應用程序以潛在地破壞另一個應用程序。

有沒有人有處理這個問題的任何提示?我不認爲我在尋找技術答案 - 更多的只是一種普遍的方法。

我們可以將代碼放入庫中,並允許應用程序保留在較舊版本的庫中,直到它們準備升級。或者我們可以將它製作成多個庫,所以我們不必一次升級所有內容。但是,管理版本庫之間的相互依賴性會變得困難嗎?

回答

5

我使用svn:externals的SVN。你想要穩定的東西應該在標籤文件夾中,這樣相關的項目不會受到主幹中其他發展的影響。

+1

+1 svn:externals。它們是迄今爲止最有效的方式,也是最簡單的。 – 2009-04-16 18:18:54

+1

我在TortoiseSVN上發現了一個很棒的教程:http://justaddwater.dk/2007/10/23/setting-up-subversion-externals-with-tortoisesvn/ – 2009-04-16 19:13:57

0

這取決於許多因素 - 不同的語言對圖書館有不同的行爲。我通常處理這種情況的方式是讓每個應用程序都爲其外部依賴關係(包括我編寫的庫)進行一系列測試,並使用它來保持對所述庫的升級而不打破應用程序。

關於您使用的平臺的更多細節?可能有特定的工具可以幫助您滿足您的特定需求。

0

我第二次SVN svn:外部。我們有一個共享一些代碼的客戶端和服務器。該代碼在服務器下維護(但可以移出自己的回購),客戶端用svn:externals進行引入。客戶端中繼線從服務器中繼線中拉出。但是當我們分支時(比如釋放),我們會在特定的rev,分支或標籤處綁定外部拉入。如果你不這樣做,你回到一箇舊的分支並更新,你可能會得到共享代碼的主幹,這很可能不是你想要的。

0

我將爲表示最新版本和最佳版本的通用代碼創建一個源代碼管理分支。

然後對於每個項目都有您自己的獨立分支代碼,您可以在需要時快速修復或在接近發佈時具有穩定性。

您可能希望擁有一個Wiki,其中列出了在通用代碼中發現的錯誤,以便共享代碼的其他用戶知道它,並有時間在閒暇時修復它。

Git可以很好地工作,因爲它很好地將變化合並回「主」分支。

相關問題