Подтвердить что ты не робот

Почему команда git svn fetch "кажется застрявшей и ничего не делает?

РЕДАКТИРОВАТЬ: обходной путь. Теперь мы понимаем проблему, вот решение: do

git svn fetch -r REVISION:HEAD

где REVISION - это число svn-фиксации создания ветки.


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

Я попытался инициализировать новый репозиторий, чтобы сделать это с помощью

git init
git svn init https://svnserver/svn/repository

Затем я редактирую файл локальной конфигурации, чтобы отразить структуру моего svn-репозитория:

[svn-remote "svn"]
    url = https://svnserver/svn/repository
    fetch = path/to/trunk:refs/remotes/trunk
    branches = path/to/branches/*:refs/remotes/branches/*

Затем я запустил

git svn fetch

И эта команда ничего не делает:

  • Он не завершается
  • Он не пишет ничего на консольном выходе
  • Он не использует никакого процессора и не создает файлы

Я сдался через 10 минут

Я проверил, что репозиторий svn работает, потому что git svn fetch отлично работает в моем репозитории git, где я отслеживаю только ту часть.

Является ли это ошибкой или мне что-то не хватает?

4b9b3361

Ответ 1

Он становится многословным после получения первой соответствующей фиксации.

Но пока он не выберет эту фиксацию, вы можете убедиться, что команда работает правильно, проверив файл .git\svn\.metadata.

Ответ 2

Попробуйте добавить параметр --log-window-size=5000.

Если репо имеет большое количество коммитов, git -svn будет проходить через них 100 за раз по умолчанию. Это может значительно увеличить скорость.

Ответ 3

В случае использования Git для Windows не забудьте обновить версию 2.20.1 до предыдущей (2.20.0), следующей (2.21.0) или любой другой. В упомянутой версии есть ошибка, приводящая к зависанию git svn fetch, которая позже была исправлена.

Ответ 4

Для тех, кто не был удовлетворен решением выше:

ВЫПУСК: svn + ssh://svn.xxxxxxx.com/svnroot/strategy/products/mysoftware зависает на:

Инициализированный пустой Git-репозиторий в [MyLocalRepositoryPath]

РЕШЕНИЕ: Вставить

имя пользователя @

перед svn url

SVN + SSH://[email protected]/svnroot/strategy/products/mysoftware

Ответ 5

У меня есть свойство fetch: refs/remotes/ git -svn, и оно работает для меня