【问题标题】:Merging users' history in SVN在 SVN 中合并用户的历史记录
【发布时间】:2009-10-22 19:38:01
【问题描述】:

SVN中有没有办法将两个用户的历史合并为一个用户?

【问题讨论】:

    标签: svn merge


    【解决方案1】:

    您可以使用以下命令更改修订的作者:

    svn propset --revprop -r <revision number> svn:author <username>
    

    您只需要提取一位作者所做的修订即可重命名它们。

    你的仓库的钩子脚本必须允许作者重命名(即pre-revprop-change)。

    【讨论】:

    • 这听起来是最好的方法,有很多修改,但我想我可以写一个简单的循环并全部更改。
    • +1 现在我为什么没有想到呢?如果他想就地修改,这将是最简单的。如果他要合并多个存储库,而合并用户只是其中一个方面,那么 svndumptool 将是一个巨大的帮助。
    【解决方案2】:

    尝试使用 svnadmin 将存储库转储到文本文件,使用一些文本工具将一位作者替换为另一位作者。然后使用 svnadmin 将文件加载到新的存储库中。

    【讨论】:

    • 当我们搬到一个新的仓库时,我使用了同样的技巧,所以我没有出现在“责备”中作为所有东西的修饰符。
    【解决方案3】:

    您需要将 svn 存储库转储到转储文件,对其进行修改,然后加载它以创建新的存储库。用于修改的工具很可能是svndumptool; IIRC,您应该能够使用“transform-revprop”功能来更改作者姓名。

    现在,subversion 转储文件可能看起来像一个文本文件,但不完全是。它具有嵌入其中的长度说明符之类的,因此您可以在某种程度上手动修改它,但您必须非常小心。

    免责声明:我过去曾为 svndumptool 做过贡献

    另一方面,RedGlyph 的方法可能更简单。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多