1

我正在寻找 svn2git 进行一些转换,但对一件事感到困惑。在我们的 SVN 存储库历史中,我们有很多人进行了更改并提交了代码,但他们已经不在这里了。即使他们不再在公司工作,我是否需要在 Git 中创建他们的帐户才能进行转换?

4

2 回答 2

1

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

例如,我为几十个 repos 做了以下事情:

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

并且如果用户在authors.txt进程中止中丢失。

于 2016-07-29T01:21:15.523 回答
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>.

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

如果您不是 100% 了解存储库的历史,那么在将 SVN 存储库迁移到 Git 时,svnevereverhttp ://blog.hartwork.org/ ?p=763是一个调查 SVN 存储库历史的好工具。

于 2016-07-29T06:38:55.337 回答