Svn

如何使用批處理文件僅轉儲 SVN 中最近幾週的修訂?

  • June 20, 2011

我們以前每晚都備份完整的 SVN 轉儲,但現在儲存庫變得太大了。

如果我願意在兩週後切斷修訂歷史記錄,我將如何製作批處理腳本來執行此轉儲?

我意識到svnadmin dump可以採用修訂範圍,但我不確定如何編寫腳本來獲取與過去某個時間相對應的修訂號,例如 14 天前。

幫助文本沒有顯示它,但您可以使用日期或一些關鍵字指定修訂範圍,就像使用普通svn命令一樣。要將上個月的送出轉儲到目前 HEAD:

svnadmin dump /path/to/repo/ -r {2011-05-20}:HEAD > /path/to/dumpfile

請記住,此方法意味著您需要確保您的快照擷取每個修訂版並且不重疊,因為轉儲文件不包含明確的修訂版編號資訊。如果有任何遺漏或重疊,恢復方法svnadmin load只會重播並重新編號您的修訂。

我應該提到svnadmin hotcopy作為備份選項,因為它們比轉儲快得多。(如果您需要文本轉儲,您可以從熱拷貝中定期進行離線轉儲)。

引用自:https://serverfault.com/questions/282131