Svn
如何使用批處理文件僅轉儲 SVN 中最近幾週的修訂?
我們以前每晚都備份完整的 SVN 轉儲,但現在儲存庫變得太大了。
如果我願意在兩週後切斷修訂歷史記錄,我將如何製作批處理腳本來執行此轉儲?
我意識到
svnadmin dump
可以採用修訂範圍,但我不確定如何編寫腳本來獲取與過去某個時間相對應的修訂號,例如 14 天前。
幫助文本沒有顯示它,但您可以使用日期或一些關鍵字指定修訂範圍,就像使用普通
svn
命令一樣。要將上個月的送出轉儲到目前 HEAD:svnadmin dump /path/to/repo/ -r {2011-05-20}:HEAD > /path/to/dumpfile
請記住,此方法意味著您需要確保您的快照擷取每個修訂版並且不重疊,因為轉儲文件不包含明確的修訂版編號資訊。如果有任何遺漏或重疊,恢復方法
svnadmin load
只會重播並重新編號您的修訂。我應該提到
svnadmin hotcopy
作為備份選項,因為它們比轉儲快得多。(如果您需要文本轉儲,您可以從熱拷貝中定期進行離線轉儲)。