2016-07-25 240 views
1

我已從VisualSVN Server的存儲庫中刪除了一組分支,但刪除後存儲庫的總大小不會減少。這是正確的方式嗎?或者我錯過了什麼?如何從Visual svn中刪除一個文件夾?

+2

那麼,這就是源代碼管理的全部目的:保留文件歷史記錄。 –

+0

第一個問題:存儲庫佔用多少空間?第二個:你在存儲庫中存儲什麼?你確定你必須從存儲庫中刪除任何東西嗎?也許你應該增加可用的磁盤空間? Subversion版本庫通常佔用非常少量的磁盤空間。 – bahrep

回答

2

VisualSVN Server基於Apache Subversion。 Apache Subversion承諾,一旦數據被提交,它就永遠存儲在存儲庫中。正如@ÁlvaroGonzález在評論中指出的那樣:這就是源代碼管理的全部目的:保留文件歷史記錄。但是,在特殊情況下,您必須刪除數據(即清除或刪除數據),請參閱下文。

  • 運行刪除上的存儲庫子樹VisualSVN服務器管理器控制檯操作具有相同的結果運行svn delete命令。您只需從最新的(HEAD)版本中刪除一個文件,一組文件或子樹,但數據及其更改歷史記錄仍在存儲庫中。

    此外,在Subversion的情況下刪除分支是沒有意義的。分支大多是指向他們從中分支出來的複製源的指針。因此,他們並沒有真正在服務器端佔用太多空間。

  • 的確,有些特殊情況需要從存儲庫中刪除,清除或刪除一些數據。但請注意,低磁盤空間並不是真正的其中之一,尤其是在企業環境中,因爲Subversion存儲庫佔用儘可能小的空間。如果您的用戶不存儲multigigabyte ISO或視頻文件,但僅存儲源代碼,則不建議從存儲庫中刪除任何數據。增加磁盤空間。

    但是,您可能需要清除包含敏感數據的文件,提交錯誤地提交到存儲庫的非常大的文件,或用於存儲庫重構目的。這就是爲什麼Subversion提供repository filtering,並希望將開始支持從Subversion項目開始就要求的"obliterate" feature