2010-10-07 53 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