2010-07-27 95 views
4

在我的項目中,每個bug和/或增強功能必須在樹枝中合併之前在分支中開發。由於分支(副本主幹)在完成後沒有被刪除,實際上我們有超過200個未使用的分支在我們的倉庫(新項目)中。subversion版本庫管理

我最近注意到服務器對於存儲庫中的小操作減慢了速度。我的同事告訴我,刪除Branch不會提高svn的速度,因爲所有以前的版本日誌/源代碼都保留在版本庫中。

我不是真的相信這個想法,相反,我認爲如果倉庫的HEAD有較少的文件夾/文件。其管理應該更快(並且同時分支機構目錄應該更容易處理)。

您對這個問題有什麼看法? (如果你是一些參考說服他們,我真的請告訴我)

回答

2

我相信你的同事是正確的,刪除​​舊分支不會提高速度。刪除分支實際上增加了更多修訂版本,所以如果有的話會減慢速度。但是您可能不會注意到,而且由於其他原因,您的存儲庫可能會變得很慢。

但是,你絕對正確的做法是在「分支」目錄中留下舊作隨着時間的推移變得難以管理。我很驚訝你的項目只有200個這樣的修復;它一定是非常新的。我建議你應該刪除舊的工作,因爲如果你需要引用它,一切仍然在Subversion歷史中。擁有一個乾淨明智的工作空間比舊工作的碎片更有價值。

+0

雖然修訂版的數量並不一定很重要:什麼是svn服務器構建文件系統樹的速度,而不是文件內容。 IIRC它在每個版本中存儲樹的快照,而不是從補丁構建 - 但現在我找不到任何參考。 – Rup 2010-07-27 08:48:40

+0

感謝您的意見。是的,這是一個非常新的項目(即使在原型模式下也是如此),但它並不那麼重要。所以你的意思是Subversion沒有優化在HEAD上運行的速度比其他版本更快。 – Phong 2010-07-27 08:56:44

+0

@Rup @Phong Subversion以類似樹的方式存儲名爲「skip deltas」的歷史修訂版,請參閱[多次修訂後的SVN性能](http://stackoverflow.com/questions/127692/svn-performance-after-many-修訂)瞭解更多信息。恐怕我對Subversion的內部知識不夠了解該領域的優化。 – 2010-07-27 09:00:28