将存储库从git转换为subversion

时间:2009-01-31 02:55:45

标签: svn git version-control

除此之外的原因是否有合理的方法将整个git存储库转换为subversion

我只能找到有关将 subversion 迁移到 git,并在两者之间交换变更集的信息,但不能简单地转换整个git存储库svn。

2 个答案:

答案 0 :(得分:14)

转换这个方向的一般问题是,Git存储库可以包含的不仅仅是修订版的线性历史记录,正如Subversion所期望的那样。具有不同历史和频繁合并提交的多个祖先都是可能的,这些都无法在Subversion存储库中轻松表示。

对于Git存储库中确实存在线性历史记录的简单情况,您可以使用git-svn dcommit将批次推送到另外空的Subversion存储库。

答案 1 :(得分:7)

使用SubGit执行此操作非常简单。

$ 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

虽然翻译SubGit会尽可能地保留提交日期,标签,忽略,合并,EOL,分支等。我不能对git-svn存储库说同样的话。

相关问题