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