0

我正处于将源代码数据从 Subversion 迁移到 Git 的阶段。

我成功地29000将提交迁移到 Git,之后该过程被挂起并发现了以下问题。

用过的svn2git htt://svnrepopath --verbose

 RA layer request failed: REPORT request failed on
 '/svn/FULL_2/!svn/vcc/default': REPORT of
 '/svn/FULL_2/!svn/vcc/default': Could not read chunk size: Secure
 iln-DT.sc.cpa2biz.local) at /usr/lib/perl5/site_perl/Git/SVN/Ra.pm
 line 290

我们在 Subversion 中有 65000 个提交应该迁移到 Git。

4

1 回答 1

1

我隐约记得在尝试将大约 100,000 个 SVN 提交导入 Git 时遇到了这个确切的错误。诀窍是分批执行此操作。我创建了一个 shell 脚本,从 SVN 提交 1 开始,导入 1,000 个提交,然后停止。它将最后一个提交号写入一个文本文件,以便下次启动 shell 脚本时,它会将提交号加一,并导入 1,000 多个提交。我在一个周末将这个作为一个 cron 工作运行,结果证明它非常稳定。

由于 shell 脚本停留在我的上一份工作中,因此git svn使用了以下命令:

git svn init --stdlayout url/to/svn/repository

一旦创建了 Git-SVN 存储库,cron 作业就会运行:

git svn fetch -r 1:1000 --authors-file=/path/to/svn-to-git/authors.txt
... some time later...
git svn fetch -r 1001:2000 --authors-file=/path/to/svn-to-git/authors.txt
... some time later...
git svn fetch -r 2001:3000 --authors-file=/path/to/svn-to-git/authors.txt
...
于 2015-08-05T17:45:23.543 回答