无论原因是什么,有没有一种合理的方法可以将整个 Git 存储库转换为 Subversion?
我只能找到大量关于从 Subversion 迁移到 Git,并在两者之间交换变更集的迁移信息,但是找不到有关将整个 Git 存储库简单转换为 svn 的信息。
无论原因是什么,有没有一种合理的方法可以将整个 Git 存储库转换为 Subversion?
我只能找到大量关于从 Subversion 迁移到 Git,并在两者之间交换变更集的迁移信息,但是找不到有关将整个 Git 存储库简单转换为 svn 的信息。
在将内容从Git转换到Subversion的过程中,通常存在一个问题,Git存储库可以包含不止线性修订历史记录,这是Subversion所期望的。多个祖先与不同历史记录以及频繁的合并提交都是可能的,这些在Subversion存储库中无法轻松表示。
对于简单情况,如果您的Git存储库具有线性历史记录,则可以使用git-svn dcommit
将其推送到否则为空的Subversion存储库中。
$ svnadmin create svn.repo
$ subgit configure svn.repo
$ nano svn.repo/conf/subgit.conf to specify a path to your bare repository (you may use "git clone --bare <URL>" if you have none locally)
$ subgit install svn.repo
转换后,您的SVN和关联的Git存储库将保持同步:每次Git推送都会被翻译为SVN提交,反之亦然。要中断翻译,请运行
$ subgit uninstall svn.repo