2012-04-27 69 views
1

我正在将3个SVN存储库 复杂迁移到1个具有不同结构的新存储过程中。如何批量添加缺少的svn:作者到存储库或转储?

我刚刚发现两个存储库有成千上万的空白 提交“这是一个空的填充版本。”全部针对根和全部 没有任何作者信息。难以置信的。

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

我想知道如果我可以使用

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

,但我想不出什么正则表达式将只匹配 一个空的作者字段。

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

非常感谢

回答

0

,答案是正常的过滤流工作

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

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

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

可以用这些错误处理。

0

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

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

对每个版本没有作者。您可以轻松地执行此操作:

$ svn log -r1:LAST $repository_url 

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

相关问题