http://tieba.baidu.com/f?kz=739070271
最讓人氣憤的是,我們常用的 tortoisesvn工具并未提供取消本次Import的功能,Update to revision也不會把誤導入的東西從Subversion數據庫中清除。這意味著,面對錯誤的Import,你有權保持沉默,你所講的一切將會沒人理 睬。 不過,tortoise再狡猾也斗不過好程序員,經過昨夜雨疏風驟的一番嘗試,終于發現了一個瞞天過海的辦法,和兄弟們共享一下,看起來我們 的后半生再也不必為錯誤的Import而喪心病狂地重建Subversion數據庫了。 具體方法—— 1.Subversion數據庫目錄 結構為 ├—conf ├—dav ├—db │ ├—revprops │ ├—revs │ └—transactions ├—hooks └—locks 其中,db"revprops和db"revs分別保存各版本的增量 變化和各版本的屬性信息(如最后修改時間、作者等)。 2.假設該數據庫存放在C:"SourceCode,且db"revprops和db "revs目錄中文件列表分別為: C:"SourceCode"db"revprops"0 C:"SourceCode"db"revprops"1 C:"SourceCode"db"revprops"2 C:"SourceCode"db"revprops"3 C:"SourceCode"db"revprops"4 C:"SourceCode"db"revprops"5 C:"SourceCode"db"revprops"6 C:"SourceCode"db"revprops"7 C:"SourceCode"db"revprops"8 C:"SourceCode"db"revprops"9 C:"SourceCode"db"revprops"10 C:"SourceCode"db"revprops"11 C:"SourceCode"db"revprops"12 C:"SourceCode"db"revprops"13 C:"SourceCode"db"revprops"14 C:"SourceCode"db"revprops"15 C:"SourceCode"db"revprops"16 C:"SourceCode"db"revprops"17 C:"SourceCode"db"revprops"18 C:"SourceCode"db"revprops"19 C:"SourceCode"db"revprops"20 C:"SourceCode"db"revprops"21 C:"SourceCode"db"revprops"22 C:"SourceCode"db"revprops"23 C:"SourceCode"db"revprops"24 C:"SourceCode"db"revprops"25 C:"SourceCode"db"revprops"26 C:"SourceCode"db"revprops"27 C:"SourceCode"db"revprops"28 C:"SourceCode"db"revprops"29 C:"SourceCode"db"revprops"30 C:"SourceCode"db"revprops"31 C:"SourceCode"db"revs"0 C:"SourceCode"db"revs"1 C:"SourceCode"db"revs"2 C:"SourceCode"db"revs"3 C:"SourceCode"db"revs"4 C:"SourceCode"db"revs"5 C:"SourceCode"db"revs"6 C:"SourceCode"db"revs"7 C:"SourceCode"db"revs"8 C:"SourceCode"db"revs"9 C:"SourceCode"db"revs"10 C:"SourceCode"db"revs"11 C:"SourceCode"db"revs"12 C:"SourceCode"db"revs"13 C:"SourceCode"db"revs"14 C:"SourceCode"db"revs"15 C:"SourceCode"db"revs"16 C:"SourceCode"db"revs"17 C:"SourceCode"db"revs"18 C:"SourceCode"db"revs"19 C:"SourceCode"db"revs"20 C:"SourceCode"db"revs"21 C:"SourceCode"db"revs"22 C:"SourceCode"db"revs"23 C:"SourceCode"db"revs"24 C:"SourceCode"db"revs"25 C:"SourceCode"db"revs"26 C:"SourceCode"db"revs"27 C:"SourceCode"db"revs"28 C:"SourceCode"db"revs"29 C:"SourceCode"db"revs"30 C:"SourceCode"db"revs"31 3. 假設C:"SourceCode"db"current內容為 31 21r 2 這表明當前版本為第31版 4.假設最后一 次導入(revision = 31)出現失誤,希望回到前一個版本并放棄本次導入的全部內容,可以直接刪除 C:"SourceCode"db "revs"31和C:"SourceCode"db"revprops"31兩個文件,并使用UltraEdit-32打開C:"SourceCode "db"current文件(注意此時不要選擇轉換到DOS格式),將其中的31修改為30即可。 5.使用tortoisesvn工具提 供的show log功能,就可以看到目前的最新版本已經是30了,那些不想要的文件也不見了。 轉自:創意安天論壇 |