2012-01-03 220 views
0

我们一直在使用SVN,开发人员一直在慢慢迁移到git-svn。现在我们准备好了,并完全转向git(使用gitolite)。我不确定如何将我们的存储库迁移到gitolite并保留历史记录。我不知道我是否应该尝试直接转换svn repo,或者使用我的本地git-svn副本并推送它。如何从git-svn迁移到gitolite并保留历史记录

什么是最好的方法?

回答

1

我建议使用SubGit来将你的Subversion版本库翻译成Git。 以下单一命令,应该足以执行转换:

$ subgit install svn_repos 

后,你会得到Git仓库中svn_repos/.git或多个Git仓库中svn_repos/git/(如果你保留多个项目svn_repos)。

然后您可以继续使用SubGit保留两个Subversion和Git的访问,或只是将其卸载,并使用svn_repos因为只有一个Git仓库:

$ subgit uninstall svn_repos 

免责声明:我SubGit的开发商。

+0

感谢您的建议 - 我没有听说过该项目。然后,我将如何把这个git回购并推送到gitolite(我是远程git回购的新手 - 我一直使用svn作为回购。) – Yehosef 2012-01-03 17:12:09

+0

@Yehosef SubGit是一个新项目,所以不要奇怪你还没有听说过它。 – 2012-01-03 21:05:39

+0

至于push:在'subgit install svn_repos'完成翻译之后,'svn_repos' _becomes_是一个正常的Git仓库。所以只需运行'git --git-dir = svn_repos/.git push --all gitolite_repos_url'。 – 2012-01-03 21:14:09

1

作为后续行动,我提出了如何从SVN迁移到Gitolite短HOWTO博客文章:看​​

相关问题