2012-05-30 49 views
3

比方說,我有一個相當大的存儲庫,其中包含許多項目。我實際上在大部分項目上工作。我是否應該在本地有一個「大工作副本」,以利用稀疏目錄功能的優勢來獲得我需要的或每個項目都有自己的工作副本。優缺點都有什麼?多個項目的SVN簽出

回答

2

我要說的是影響最大的兩個因素的方法來取有:

  • 是否所有的項目共享大量的庫代碼?
  • 您是否在所有項目的同一分支上工作?

如果所有個別項目分享了大量的庫中的代碼,被認爲是相同的軟件套件的一部分,那麼它是有道理的有一個單一的工作副本,因爲它最大限度地減少重建的量,並確保做出的更改在一個項目中可以看到另一個項目(這樣可以最大限度地減少破壞構建的機會)。另一方面,如果這些項目中的每一個可能都是針對不同的客戶端,並且每個項目都有不同的時間表,並且需要在不同的分支上完成(項目A處於RC階段並且只需要showstopper bug-修復程序,項目B處於alpha階段,可以進行大量修改),然後進行單獨的稀疏工作副本方法。

0

一個項目,每個提交(和回滾)都是特定於該項目。如果您打算使用capistrano或任何其他部署工具也很重要。你也限制每個項目的訪問。

+0

您仍然可以使用稀疏工作副本提交併回滾部分結帳。 – gbjbaanb

+0

是的,但這隻會增加更多的工作 – TomDunning

2

我有相同的情況。我檢查了一個結構中的所有項目,而不是使用稀疏目錄。然後,通過選擇所需文件夾和提交/更新,一次更新所有項目或一次只更新一個項目/文件夾非常容易。這樣,當你需要時,你可以獲得spase目錄的好處,或者完全更新/提交,而不是一個接一個地完成。我的收藏約5GB,60k文件,並且每個項目級別或完成它仍然非常快。

0

正如@the_mandrill所說,它取決於您的項目是否是一個整體的一部分,例如,合併到單個Java EE Web應用程序中的jar文件。

在類似的情況下,我使用了一個總體構建配置的總括項目,並通過svn::externals來拉動子項目。在Java世界中,這與基於Maven的構建實踐相當吻合,儘管存在一些缺陷。

我打算嘗試一下Visual Studio項目和解決方案的類似方法,但到目前爲止我只做了簡單的實驗。