Команда GIT-SVN clone выполняется без ошибок, но локальная ветка master отсутствует - PullRequest
6 голосов
/ 23 июля 2010

Я пытаюсь использовать GIT-SVN, но у меня проблемы с началом работы. Я могу клонировать svn-репозиторий (или использовать git svn init, а затем git svn fetch) без каких-либо ошибок, но после того, как команда прекратит обработку, репозиторий git пуст и нет локальной ветки master.

Мой репозиторий SVN находится здесь:

https://localhost:8443/svn/projects

И папка проекта имеет такую ​​структуру:

/projectA/trunk
/projectA/branches
/projectA/tags

/projectB/trunk
/projectB/branches
/projectB/tags

(примечание, ветви и теги-папки пусты, в папке trunk есть файлы).

Я пытаюсь клонировать проект A, поэтому я использовал эту команду:

git svn clone --username myUsername https://localhost:8443/svn/projects/ gitFolder --trunk projectA/trunk --branches projectA/branches --tags projectA/tags

Обработка занимает около 10 минут и выводит все имена файлов на экран. Последняя строка выглядит так:

r233 = 2bfb031dda74e0ae8340688892197d647729b256 (refs/remotes/trunk)

Теперь, если я переключусь на gitFolder и наберу git log, я получу: фатальный: неверная версия по умолчанию 'HEAD'.

git branches -a сообщает об этом:

перепятнышки / багажник.

В gitFolder есть папка .git, но больше ничего. Я также пытался набрать git svn init и git svn fetch вместо git svn clone, но конечный результат тот же.

Есть идеи, что происходит? Заранее спасибо.

Обновление:

Только что понял, что последняя строка (r233 = 2bf ...) должна указывать на номер ревизии. Итак, последняя обработанная svn-ревизия - 233. Я проверял это несколько раз, и клон git-svn всегда останавливается после ревизии 233. Проблема в том, что исходный репозиторий svn содержит более 10100 ревизий. Я не уверен, почему git-svn останавливается раньше, потому что нет ошибок или предупреждений. Где-нибудь есть файл журнала, который может дать больше подсказок?

Еще одно обновление:

Мне удалось решить мою проблему. Это было вызвано проблемами связи между VisualSVN (версия 2.1.3) и Msysgit (версия 1.7.0.2-preview20100309). Кажется, что в какой-то момент git-svn просто теряет соединение с VisualSVN-сервером и не отображает ошибку, а просто закрывается. Переключение с http-протокола на svn-протокол решило проблему.

Использовать svn-протокол с VisualSVN довольно просто:

  1. Перейти в папку bin VisualSVN
  2. Тип "svnserve --daemon"

Вы можете проверить, что все работает, используя TortoiseSVN и указав его в своем хранилище: svn: // localhost / repositories / myProject

Ответы [ 3 ]

9 голосов
/ 27 июля 2010

Мне удалось решить мою проблему.Это было вызвано проблемами связи между VisualSVN (версия 2.1.3) и Msysgit (версия 1.7.0.2-preview20100309).Кажется, что в какой-то момент git-svn просто теряет соединение с VisualSVN-сервером и не отображает ошибку, а просто закрывается.Переключение с http-протокола на svn-протокол решило проблему.

Использовать svn-протокол с VisualSVN довольно просто:

Перейти в папку bin типа VisualSVN "svnserve --daemon"«Вы можете проверить, что все работает, используя TortoiseSVN и указав его в своем хранилище: svn: // localhost / repositories / myProject

4 голосов
/ 23 июля 2010

Выглядит все правильно для меня.Результат такой же, если вы делаете следующее:

git svn clone --username myUsername https://localhost:8443/svn/projects/ gitFolder

0 голосов
/ 23 мая 2016

У меня была похожая проблема с git svn clone, но в моем случае она (слегка скрытая) напечатала ошибку.Из-за имени пользователя было не очевидно, что имелось в виду.Но, по сути, имя автора (или лучше: имя пользователя SVN) отсутствовало в моих авторов. Текст

, который решил это

...