2010-10-07 26 views
3

由於我們正在將項目遷移到公共源代管,我想從SVN存儲庫中刪除一些「個人」信息。到目前爲止,我使用svndumptoolsvndumpfilter刪除了路徑或修訂版,但性能很好。不過,我想從存儲庫中的特定文件中刪除一些文本。手動更改後重新計算SVN轉儲中的校驗和

我通過regex的轉儲手動刪除文本,並且工作正常,但是當我想要使用轉儲時,我得到校驗和不匹配。這顯然是因爲我改變了文件但沒有更新校驗和。

是否有任何工具可以重新計算轉儲中文件的校驗和?或者是否有一個編輯工具的文件(應允許正則表達式替換)內的一個SVN轉儲也更新校驗和?

+0

簡單路徑:完全刪除文件,重新插入爲新副本。 – Wrikken 2010-10-07 23:04:00

+0

你的意思是把它作爲新的修改加入到最後?我想保持歷史不變。 – poke 2010-10-07 23:05:39

+0

你也可以簡單地運行'sed'/ Text-content-md5/d'dumpfile.txt | svnadmin load repo'刪除所需修訂的校驗和檢查。 – bekce 2017-03-11 14:11:23

回答

2

好的,我不想等待更長時間的答案,所以我自己寫了一個腳本,我將與您分享。它利用SvnDumpTool,或者說它的庫。要執行自定義操作,您需要編輯源代碼(並知道一些python)。包括一個簡單的例子,我認爲腳本提供的抽象是相當不錯的。

不管怎麼說,希望這是對你有用,因爲這對我來說,雖然我花了相當長的一段搞不定這樣的:

SvnDumpToolEdit.py Github上。

+0

謝謝,我用它作爲我的任務的起點。 – mark 2011-10-27 19:38:06