如何将大型SVN仓库转换为Git?

问题描述 投票:0回答:1

我正在尝试将几个SVN存储库转换为Git。两个进展顺利。当我尝试转换下一个大型的时候,我从git svn clone得到错误。首先是一堆:

W: Refspec glob conflict (ref: refs/remotes/origin/tags/Something-Perl):
expected path: something/trunk/tags/Something-Perl
    real path: something/tags/Something-Perl

对于各种“某事”。然后一个:

Initializing parent: refs/remotes/origin/TheName@27584
Use of uninitialized value $args[1] in join or string at /usr/share/perl5/vendor_perl/Git.pm line 1635.
Use of uninitialized value $_[2] in exec at /usr/share/perl5/vendor_perl/Git.pm line 1661.
fatal: Not a valid object name
ls-tree -z  ./: command returned error: 128

挖掘,我发现1635行是

return wantarray ? ($fh, join(' ', $cmd, @args)) : $fh;

谷歌在Git.pmSVN.pm发现了一些错误,但不是这个。 (作为参考,我在Linux上使用git版本2.19.1。)

我真的只想要那个仓库中的两个目录,所以我试图关注Migrating a large SVN repo to git,但我最终得到了一个空的Git仓库:

[MyNewRepo]$ git status
On branch master

No commits yet

nothing to commit (create/copy files and use "git add" to track)

有什么想法吗?

git perl svn git-svn
1个回答
1
投票

如果您只是导出到git,那么最好使用KDE svn2git。它更快,允许您创建带注释的标签。 https://github.com/svn-all-fast-export/svn2git

© www.soinside.com 2019 - 2024. All rights reserved.