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

Не удалось преобразовать репозиторий svn (без соединительной линии) в git

Я пытаюсь преобразовать репозиторий svn в git, но у меня нет большого успеха. Репозиторий, о котором идет речь, не имеет ничего похожего на "багажник". Макет следующий:

/home/svn/
      |--- /project1/
      |--- /project2/
      |--- /repos/project3/

И под этими папками проекта находятся файлы. Никакой багажник, никаких ветвей, ничего особенного. В то время это было все, что мне было нужно, и теперь он кусает меня в задницу.

Я следую этому руководству: http://john.albin.net/git/convert-subversion-to-git

Когда я запускаю эту команду:

git svn clone svn+ssh://[email protected]/home/svn/repos/kiflea --no-metadata -A authors-transform.txt --stdlayout ~/kiflea

В нем говорится, что он создал пустой репозиторий git... Но я действительно не хочу, чтобы он был пустым.

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

Команды типа git symbolic-ref HEAD refs/heads/trunk или git config remote.bare.push 'refs/remotes/*:refs/heads/*'

4b9b3361

Ответ 1

Просто удалите опцию --stdlayout. Это означает структуру соединительных линий/ветвей/тегов.

Ответ 2

Если у вас есть локальный доступ к вашему репозиторию SVN, я бы рекомендовал вам использовать SubGit для преобразования. Есть несколько простых шагов:

$ subgit configure path/to/svn/repository
$ #edit path/to/svn/repository/conf/subgit.conf to specify "core.authorsFile" option to point to your authors-transform.txt
$ subgit install path/to/svn/repository

После этого будет создан репозиторий Git, и репозитории будут находиться в постоянной синхронизации. При желании вы можете запустить

$ subgit uninstall path/to/svn/repository

чтобы отключить синхронизацию.

Если у вас нет локального доступа к вашему репозиторию, вы клонируете свой репозиторий SmartGit. Эффект будет похож на "git svn clone", но такие понятия SVN, как игнорирование, варианты обработки EOL, теги будут также переведены на Git (то же самое я могу сказать и о SubGit).

Ни одно из этих решений не основано на "git -svn".