git svn - "Не удалось найти revmap" - слишком длинный путь с повторяющимися каталогами - PullRequest
0 голосов
/ 24 сентября 2018

Я использую git-svn для отслеживания и работы с несколькими ветками svn с помощью git.Я использую следующую конфигурацию в .git/config файле:

[svn-remote "svn"]
    url = https://example.com/svn/some-dir/project-name/
    fetch = trunk:refs/remotes/svn-trunk
    fetch = branch/Topic:refs/remotes/svn-topic

Это отслеживает две ветви, ствол иногда объединяется в тему и обычно , работает просто отлично.Но с one, конкретным svn-репозиторием , git svn fetch --fetch-all выдает следующую ошибку: Couldn't find revmap for https://example.com/svn/some-dir/project-name/some-dir/project-name/trunk.И, конечно же, слияния не отражаются в истории git.

Основная, основная проблема: очевидно, неверный путь - "some-dir/project-name/" повторяется дважды.Но, как я уже писал, для внутреннего svn это работает просто отлично.

Итак, что вызывает эту проблему и как я могу ее исправить?

Я попытался изменить конфигурацию следующим образом:

[svn-remote "svn"]
    url = https://example.com/svn/
    fetch = some-dir/project-name/trunk:refs/remotes/svn-trunk
    fetch = some-dir/project-name/branch/Topic:refs/remotes/svn-topic

В этом случае команда git svn fetch --fetch-all выдает следующую ошибку: W: Item is not readable: Item is not readable at /mingw64/share/perl5/site_perl/Git/SVN.pm line 153..

В качестве обходного пути я использую git replace --graft (и соответственно изменяю файл .git/refs/remotes/svn-topic) длявручную сохраняйте историю слияний, но это, очевидно, взлом.

Мое окружение:

  • Windows 10 64 бит
  • git версии 2.14.2.windows.3
  • svn: неизвестно (это не под моим контролем)
...