Как я могу конвертировать большой репозиторий SVN в Git? - PullRequest
0 голосов
/ 10 апреля 2019

Я пытаюсь конвертировать несколько репозиториев 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;

Google обнаружил несколько случаев ошибок в Git.pm или SVN.pm, но не в этом.(Для справки, я использую git версии 2.19.1 для Linux.)

Мне действительно нужны только две директории в этом репо, поэтому я попытался выполнить Перенос большого репозитория SVN в git но я получаю пустой репозиторий Git:

[MyNewRepo]$ git status
On branch master

No commits yet

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

Есть мысли?

1 Ответ

1 голос
/ 10 апреля 2019

Если вы экспортируете только в git, лучше использовать KDE svn2git. Это намного быстрее и позволяет создавать аннотированные теги. https://github.com/svn-all-fast-export/svn2git

...