subgit - основная и корневая папки svn для объединения в основную папку git

Ниже приведена структура моего репозитория svn.

svnrepo

  • багажник
  • ветви
  • теги
  • папка1
  • папка2

Я хочу иметь trunk контент, folder1 и folder2 в ветке master репозиториев git, как я могу добиться этого с помощью миграции subgit?

гитрепо (мастер)

  • содержимое багажника
  • папка1
  • папка2

person Community    schedule 13.12.2017    source источник
comment
Существует множество svn2git инструментов. Используете ли вы правильный, тот, который создали ребята из KDE, который можно найти на github.com /svn-all-fast-export/svn2git и описанный в описании тега svn2git или какой-либо другой, например, nirvdrum svn2git, основанный на git-svn и, следовательно, не очень подходящий для получения хороших результатов миграции?   -  person Vampire    schedule 14.12.2017


Ответы (1)


Насколько я понимаю, вам не нужны ветки/ и теги/ в Git. В этом случае вы можете использовать следующую конфигурацию:

trunk = trunk:refs/heads/master
branches = folder1:refs/heads/folder1
branches = folder2:refs/heads/folder2

Дополнительную информацию о параметрах ствола/ветвей/тегов/полок можно найти в статье сопоставление ветвей. При желании вы можете добавить опцию shelves=shelves/*:refs/shelves/*, если вам нужен двунаправленный перевод и вы хотите перевести каждый отдельный коммит Git в отдельную ревизию в случае самослияния веток.

Обновление: вопрос был о переводе ствола и пары веток в одну и ту же ветку Git. Могу только предложить следующий подход:

trunk = :refs/heads/master
includePath = /trunk
includePath = /folder1
includePath = /folder2

Он переведет корень проекта в refs/heads/master, но пропустит все, кроме этих трех каталогов. Обратите внимание, что непропущенные каталоги все равно будут загружены из SVN, но позже будут удалены локально.

Это самое близкое решение вашего первоначального вопроса, я не знаю ничего лучше.

person Dmitry Pavlenko    schedule 15.12.2017
comment
Извините за неправильное толкование. теги и ветки также необходимы, но содержимое магистрали, папка1 и папка2 должны идти в основную ветку. В соответствии с вашим решением будут созданы 2 новые ветки. Вы имеете в виду, что после создания веток объединить их в master? - person ; 15.12.2017