如何永久刪除 subversion repository 中的檔案

版本控制需要保留所有的記錄才能確保完整的對應關係,但有時候有些東西真的非刪不可怎麼辦? 畢竟很難確保有人丟了什麼進 repository ,尤其當包含了大量跟程式運作無關的圖檔或影片檔案,如此也造成每日備份 repository 的硬體及頻寬耗損。

原本 subversion 有提供一個 obliterate 指令可以使用,但很遺憾的是這個功能只有表象而已,目前只能透過官方建議的 svndumpfilter 來輔助處理。

# svnadmin create REPOS2

# svnadmin dump REPOS1 | svndumpfilter exclude somefoder | svnadmin load REPOS2

(修改自cdsheen)


目前只支援可濾除單一目錄,如果想進階一點就只能自己寫了,像 cdsheen 寫的濾除附檔名的功能:
http://blog.urdada.net/2006/10/06/64/

看來官方已經是放著不處理了,大家就自力救濟吧。

延伸閱讀:
How do I completely remove a file from the repository’s history?
subversion: Issue 516

1 comments On 如何永久刪除 subversion repository 中的檔案

Leave a reply:

Your email address will not be published.

Site Footer

Sliding Sidebar