2016-08-14 2 views
0

Я пытаюсь преобразовать некоторые старые svn-рецензии в git, используя svn2git под Windows. Я выполняю следующую команду из моего git bashsvn2git висит и выводит ничего

svn2git https://repo.example.com/repos/my_repro --username user --notags --authors ~/authors.txt --verbose 

Но ничего не происходит. Я вижу, что рубиновый процесс порождается и что это порождает cmd.exe, который, в свою очередь, порождает новый экземпляр git svn init. Однако, несмотря на параметр --verbose, я не вижу выхода. Указанные процессы не потребляют процессорного времени, а при захвате сетевого трафика я не вижу никакого трафика на сервер SVN.

Что я делаю неправильно?

ответ

1

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

С вашего вопроса я вижу, что вы не используете тот, который я упомянул.

Если вы не 100% об истории своего репозитория, svneverever от http://blog.hartwork.org/?p=763 - отличный инструмент для изучения истории хранилища SVN при переносе его на Git.

+0

Спасибо! Я не знал, что существуют различные инструменты под названием 'svn2git'. Я не пробовал ваше предложение, потому что у меня не было среды, готовой скомпилировать ее самостоятельно. – sigy

+0

Даже описание тегов 'svn2git' говорит вам об этом. ;-) – Vampire

+0

Я не читал его тогда, мой плохой :( – sigy

0

Я закончил с использованием git svn clone. В конце концов, мне не понадобилось никакого специального лечения для моего очень простого хранилища, чтобы он сделал трюк. Я в первую очередь забыл об этой возможности.

Я использовал процедуру, описанную в Pro Git

+0

'git-svn' ** не ** - правильный инструмент для одноразовых конверсий репозиториев. Это отличный инструмент, если вы хотите использовать Git как интерфейс для существующего сервера SVN, но для одноразовых конверсий вы не должны ** использовать 'git-svn', но' svn2git', что намного больше подходит для этого прецедента. – Vampire

+0

Почему это так? К сожалению, мой svn-репозиторий удалился тем временем (его хостинг-план истек, поэтому мне нужно было его преобразовать), поэтому мне нужно работать с тем, что у меня есть. – sigy

+0

Слишком много причин для комментариев, например, это приводит к значительно худшим результатам, история восстанавливается лучше с помощью svn2git, теги являются реальными тегами, а не ветвями, если вы изменили макет в SVN, вы можете легко настроить это с помощью svn2git, с git-svn вы в конечном итоге потеряете историю, с помощью «svn2git» вы также можете разбить один Репозиторий SVN в несколько хранилищ Git легко или объединяет несколько SVN репозитории в один репозиторий Git, ... – Vampire

Смежные вопросы