2009-02-20 149 views
7

我發現自己問的問題是:我應該爲此客戶的所有項目創建一個存儲庫嗎?還是應該爲每個存儲庫分別創建一個存儲庫?我應該有1個還是多個存儲庫?

你通常決定哪個?

請列出導致您決定的兩種方法的優缺點。

編輯:請標記爲重複下列之一:

One SVN repository or many?

Should I store all projects in one repository or multiple?

+0

確實,堆棧的搜索沒有看到他們與我使用的術語。 – 2009-02-20 20:51:27

+0

我們不能合併這些問題,但我們可以嗎?我會保持這種狀態,因爲更多的迴應比更少的迴應更好。指向其他問題的指針應該足夠了。 – 2009-02-22 19:52:36

+0

我搜索了「我應該有1個還是多個存儲庫?」 (你的問題)和上面編輯中的鏈接是列表中的#2。我認爲沒有任何合併,另一個Q沒有鏈接到這個。沒有更好的。 – Bratch 2009-02-23 21:54:29

回答

1

我用一個單一的存儲庫的「一切」,因爲它使項目之間移動的東西容易得多 - 在至少與SVN。

0

我在.NET的開發工作室工作,我們有兩個Visual SourceSafe中存儲庫。一個用於我們傳統的.NET 1.1應用程序,另一個用於我們新的.NET 2.0/3.0/3.5應用程序。

0

只有一個原因,我可以考慮不把它放在一個存儲庫中。這就是說,如果您無權配置存儲庫所在的服務器,並且您需要將存儲庫的某些部分限制爲不同的人員。

我們有一個集中管理的服務器,我們可以根據需要創建存儲庫,但不能更改配置。我們有一個僅供內部使用的主代碼存儲庫,但創建更多的代碼庫以便與組織外的人員協作。

1

我有一個每個項目的存儲庫,因爲它保持版本號獨立。我跟着TortoiseSVN的幫助部分4.1.5「版本庫佈局」中規定的思考:

索引由項目有道理的,如果項目不是密切相關,而且每一個是單獨被檢出。

我在這種情況下使用SVN進行自己的本地備份,所以對我來說很合理。

0

我們有一個存儲庫,每種類型的項目和訪問它的人的類型。例如,我們所有的.NET項目都位於一個存儲庫中,而我們所有的舊應用程序都位於一個存儲庫中。這樣,我們的.NET開發人員就不會意外地使我們的傳統開發人員流失(反之亦然)。

0

我曾經爲所有項目使用一個存儲庫,直到它變得非常大以至於對該項目的承諾實際上變慢了 - 這是對Subversion的影響。如果您的項目要保存大量數據,尤其是二進制數據,那麼我建議使用單獨的存儲庫。如果您主要只是存儲代碼,那麼單個存儲庫更容易維護。

0

我使用了幾個存儲庫 - 儘管我承認,當涉及到組織代碼時,我已經有了一些強迫症,並且我喜歡事情要非常有組織和獨特。

我在我們公司管理SCM回購,目前我們有三個:一個用於主要項目,一個用於軟件包/庫,另一個用於第三方代碼。如果我要再做一次,我還會爲媒體文件創建一個單獨的存儲庫(我們有許多需要進行版本控制的mp3/wav文件),但是,可惜它們在我們的主要存儲庫下。

我認爲使用多個存儲庫(除了被強制組織)的唯一有力論據是它可以更容易地處理每個這些回購的訪問權限,而根據您的SCM環境,這可能不是這樣易於在單個回購站點下的多條路徑。

0

我幾乎所有的東西都使用git。所以我有一個每個項目的存儲庫(無論是/ etc,編碼項目或用戶配置文件)。

0

如果您使用一個存儲庫來創建自動構建或繼續集成,那麼它會變得更加困難。即使您現在不打算這樣做,現在設置它也不失爲一個好主意,這也讓您更容易管理您的內容。

一個好的經驗法則是爲每個不同的解決方案\項目組創建一個存儲庫。

如果您有一個不共享任何內容的解決方案,請爲每個解決方案創建一個存儲庫。另一個例子是,如果你有一個.NET 1.1版本的應用程序,並且你想創建一個2.0版本的應用程序分支你的代碼,併爲你的新代碼創建一個單獨的存儲庫,那麼也可以使用.NET 3.0和.NET來完成。 NET 3.5。

相關問題