svn2git - SVN中的所有作者是否需要提前在Git中创建?

时间:2016-07-29 01:05:15

标签: git svn svn2git

我正在看svn2git做一些转换,但我对一件事感到困惑。我们的SVN回购历史中有很多人,他们做了更改并提交了代码,他们不再在这里了。我是否需要在Git中创建他们的帐户,即使他们不再与公司合作,转换为工作?

2 个答案:

答案 0 :(得分:0)

您不需要创建帐户 - 但在常见的导入过程中,他们需要在文件authors.txt中输入一个条目,以提供svn帐户(名称)到电子邮件(作为id)的映射在git。

E.g。我做了以下几十个回购:

git svn clone svn+ssh://user@host/svnroot/repo gitrepo \
        --no-metadata  -A authors.txt

如果authors.txt中缺少用户,则流程将中止。

答案 1 :(得分:0)

有一些称为svn2git的简单工具,最好的工具是来自https://github.com/svn-all-fast-export/svn2git的KDE工具。我强烈建议您使用svn2git工具。这是我所知道的最好的,它可以非常灵活地使用它的规则文件。

从你的问题我假设你没有使用我提到的那个。因为默认情况下使用<svnusername>@localhost如果没有另外配置。您可以为该工具提供默认主机名,以便默认使用<svnusername>@your-host.com或(另外)您可以提供一个文件,其中包含将用户映射到提交者/作者字符串的映射,如Your name <your.name@your-host.com>

您永远不需要在任何地方创建任何用户。唯一需要帐户的人是必须将回购推送到Git服务器的人。其他人只是他推动的历史上的提交者/作者。提交/作者和推动的人是两个完全独立的群体,可以重叠但不必。只有推动者才有权推进您的Git托管解决方案。

如果您不是100%关于存储库的历史记录,那么http://blog.hartwork.org/?p=763中的svneverever是一个很好的工具,用于在将SVN存储库迁移到Git时调查其历史记录。