Svn2git: невозможно настроить информацию отслеживания

Я пытаюсь перенести проект SVN на git с помощью svn2git. При выполнении команды он выходит со следующей ошибкой:

Running command: git branch --track "0.0.9" "remotes/svn/0.0.9"
fatal: Cannot setup tracking information; starting point 'remotes/svn/0.0.9' is not a branch. 

Начал с:

 svn2git http://<host>/<project>

Я не могу найти решение для него, и похоже, что у многих пользователей такая же проблема.

Что я могу сделать для решения этой проблемы?

Ответ 1

У меня была такая же проблема с использованием Debian Sid (версия "git" равна 1:1.8.3.2-1). Прежде чем я уже провалился на Debian Squeeze, используя пакет "git" (1:1.7.2.5-3). Наконец, я закончил использование репозитория сжимания-backport (1:1.7.10.4-1 ~ bpo60 + 1), и теперь он работает.

Какую версию Git вы используете?

Ответ 2

это должно исправить:

Изменение этой строки https://github.com/nirvdrum/svn2git/blob/master/lib/svn2git/migration.rb#L319
от run_command("git branch --track \"#{branch}\" \"remotes/svn/#{branch}\"")
до run_command("git branch \"#{branch}\" \"remotes/svn/#{branch}\"") должен исправить это.

По крайней мере, теперь он работает без меня.

вы можете найти файл migration.rb в Windows под C:\Ruby200-x64\lib\ruby\gems\2.0.0\gems\svn2git-2.2.2\lib\svn2git или что-то вроде этого

https://github.com/nirvdrum/svn2git/issues/132#issuecomment-31453436

Ответ 3

Я хочу добавить к этому быстрое и грязное решение без изменения кода!

Каждый раз, когда вы получаете ошибку, просто вручную измените ветку и продолжите команду svn2git.

чтобы просмотреть рабочий процесс:

Запуск команды

svn2git ....

Получена ошибка

Running command: git branch --track "0.0.9" "remotes/svn/0.0.9"
fatal: Cannot setup tracking information; starting point 'remotes/svn/0.0.9' is not a branch. 

Вручную изменить ветвь (скопируйте строку Running command: и удалите --track)

branch "0.0.9" "remotes/svn/0.0.9"

Продолжение с svn2git

svn2git ...

note ... после svn2git выше, независимо от вашей команды svn2git

Ответ 4

Если у вас небольшое количество ветвей и вы не хотите понижать класс git, вот способ обхода проблемы. Запустите "git branch -r", чтобы получить список ветвей. Затем запустите каждую ветвь (например, svn/next_branch):

$ git branch "next_branch" "remotes/svn/next_branch"

Единственное отличие заключается в том, что опция "--track" удалена.

Это было исправлено для этого Github Issue