1

我正在将 3 个 SVN 存储库复杂地迁移到 1 个具有不同结构的新存储库中。

我刚刚发现其中两个存储库有数千个空白提交“这是填充的空修订。” 所有反对根和所有没有任何作者信息。难以置信的。

svnfiltereddump 在这些提交上失败了,因为它需要一个 svn:author 所以我需要一种技术来解决这个问题。

我想知道我是否可以使用

svndumptool.py transform-revprop svn:author SOMETHING gareth.hughes input.dump utput.dump

但我不知道正则表达式只匹配一个空的作者字段。

否则,我正在寻找将 svn:author 添加到存储库中大约 8000 个提交中的方法,而不是顺序的。或者,可以将它们从转储中过滤出来的工具,毕竟它们都是垃圾。

非常感谢

4

2 回答 2

0

好消息是,您可以在转储和加载之前处理此问题,而不是在转储和加载过程中尝试处理问题。svn:author修订属性包含提交该修订的作者。由于这是一个修订属性,您可以更改它而无需在您的 Subversion 存储库中创建新修订。只需这样做:

$ svn propset --revprop -r$rev svn:author $default_author $repository_url

在没有作者的每个修订版上。您可以轻松地做到这一点:

$ svn log -r1:LAST $repository_url

获取修订中所有日志条目的列表。如果您发现没有作者的修订,则可以svn:author在该 URL 上设置修订属性。我什至不相信你需要一个工作目录来做到这一点。

于 2012-05-01T16:29:06.610 回答
0

答案是正常的 svndumpfilter 工作

svndumpfilter --drop-empty-revs --renumber-revs include /somepath

但随后发生了进一步的错误,我发现非常有用

./svndumpfilter3 --untangle=/path/to/repo /somepath

可以应对这些错误。

于 2012-05-01T13:34:33.477 回答