如何将缺少的svn:author批量加载到存储库或转储?

如何将缺少的svn:author批量加载到存储库或转储?,svn,svnadmin,Svn,Svnadmin,我正在对3个SVN存储库进行复杂的迁移 换成一个结构不同的新的 我刚刚发现其中两个存储库有数千个空白 提交这是用于填充的空修订。一切都是反对根的 没有任何作者信息。难以置信 svnfiltereddump会放弃这些提交,因为它需要一个svn:author,所以我需要一种技术来解决这个问题 我想知道我能不能用 svndumptool.py transform-revprop svn:author SOMETHING gareth.hughes input.dump utput.dump 但是我不

我正在对3个SVN存储库进行复杂的迁移 换成一个结构不同的新的

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

svnfiltereddump会放弃这些提交,因为它需要一个svn:author,所以我需要一种技术来解决这个问题

我想知道我能不能用

svndumptool.py transform-revprop svn:author SOMETHING gareth.hughes input.dump utput.dump
但是我不知道正则表达式只匹配什么 空的作者字段

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


非常感谢,答案是正常的svndumpfilter工作正常

svndumpfilter --drop-empty-revs --renumber-revs include /somepath
但是后来发生了更多的错误,我发现这个方法非常有用

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

可以处理这些错误。

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

$ svn propset --revprop -r$rev svn:author $default_author $repository_url
在每个没有作者的版本上。您可以轻松做到这一点:

$ svn log -r1:LAST $repository_url
获取修订版中所有日志项的列表。如果发现没有作者的修订,则可以在该URL上设置svn:author revision属性。我甚至不相信你需要一个工作目录才能做到这一点