如何将缺少的 svn:author 批量添加到存储库或转储中?
Posted
技术标签:
【中文标题】如何将缺少的 svn:author 批量添加到存储库或转储中?【英文标题】:How can I bulk add in missing svn:author to a repository or dump? 【发布时间】:2012-04-27 14:37:04 【问题描述】:我正在对 3 个 SVN 存储库进行复杂的迁移 到 1 个具有不同结构的新结构中。
我刚刚发现其中两个存储库有数千个空白 提交“这是填充的空修订。”一切都反对根和所有 没有任何作者信息。难以置信。
svnfiltereddump 在这些提交上失败了,因为它需要一个 svn:author 所以我需要一种技术来解决这个问题。
我想知道我是否可以使用
svndumptool.py transform-revprop svn:author SOMETHING gareth.hughes input.dump utput.dump
但我无法弄清楚正则表达式将只匹配什么 一个空的作者字段。
否则,我正在寻找将 svn:author 添加到存储库中大约 8000 个提交中的方法,而不是顺序的。 或者,一个可以将它们从转储中过滤出来的工具,毕竟它们都是垃圾。
非常感谢
【问题讨论】:
【参考方案1】:答案是正常的 svndumpfilter 工作
svndumpfilter --drop-empty-revs --renumber-revs include /somepath
但随后发生了更多错误,我发现非常有用
./svndumpfilter3 --untangle=/path/to/repo /somepath
可以处理这些错误。
【讨论】:
【参考方案2】:好消息是,您可以在转储和加载之前处理此问题,而不是在转储和加载过程中尝试处理问题。 svn:author
修订属性包含提交该修订的作者。由于这是一个修订属性,您可以更改它而无需在您的 Subversion 存储库中创建新修订。只需这样做:
$ svn propset --revprop -r$rev svn:author $default_author $repository_url
在每个没有作者的版本上。您可以轻松做到这一点:
$ svn log -r1:LAST $repository_url
获取修订中所有日志条目的列表。如果您发现没有作者的修订,则可以在该 URL 上设置 svn:author
修订属性。我什至不相信您需要一个工作目录来执行此操作。
【讨论】:
以上是关于如何将缺少的 svn:author 批量添加到存储库或转储中?的主要内容,如果未能解决你的问题,请参考以下文章
如何将缺少的依赖项添加到仅运行一次的 useEffect 挂钩?