如何将缺少的 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 批量添加到存储库或转储中?的主要内容,如果未能解决你的问题,请参考以下文章

Apigee Usergrid:缺少批量删除选项

如何将缺少的依赖项添加到仅运行一次的 useEffect 挂钩?

如何把数据快速批量添加到Elasticsearch中

脚本任务从 Excel 批量复制到 Sql Server 2008。标题后缺少第一行

将 csv 文件从云存储批量加载到 bigquery

如何将 CSV 文件批量加载到 Snowflake 中,并将文件名添加为列?