是的,我知道。为什么要从 Git 迁移到 SVN?
好吧,我碰巧遇到这样的情况,我需要将一个巨大的 Git 存储库迁移到 Subversion!这是我根据埃德温的评论尝试的一个工作流程:
首先创建一个本地SVN仓库:svnadmin create svn_repo
接下来我查看我的 Git 存储库:git clone git:myNameSpace/myProject
cd
进入myProject
并运行:
git svn init -s --prefix=svn/ file:///home/myHome/svn_repo/myProject
git svn fetch
git rev-list --parents master | grep '^.\{40\}$'
查找您的根提交的哈希值并只给出一个应有的提交。
接下来是获取空主干提交的哈希值:git rev-parse svn/trunk
不幸的是,这个失败了:
fatal: ambiguous argument 'svn/trunk': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions
好吧,在这之后我不能走太多......
我建议您通过几个简单的步骤使用 SubGit 进行迁移。
$ svnadmin create svn.repo
$ subgit configure svn.repo
$ nano svn.repo/conf/subgit.conf #edit path to your (bare!) Git repository (you may use "git clone --bare <URL> bare.git.repo" if you don't have it locally)
$ subgit install
就这样。在翻译时,SubGit 将尽可能保留所有提交(甚至是临时的)、分支、合并、忽略、日期、EOL 设置、标签等。
翻译后,存储库将同步(每次推送到 Git 都会翻译为 SVN 修订版,反之亦然)。要中断同步(如果不需要)运行
$ subgit uninstall svn.repo
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)