инструмент git svn для миграции из SVN, содержащий несколько повторяющихся репозиториев - PullRequest
0 голосов
/ 20 июня 2019

Я работаю над проектом, в котором SVN репо содержит дубликаты репозиториев

/trunk/project_v1
/trunk/project_v2
/trunk/project_tomcat_migration_v3
/trunk/empService1
/trunk/empService2
/trunk/empService_random_string_v3

  .
  .

Tags также содержит дубликаты репозиториев.

  1. Я хочу выбрать последнюю версиюрепозитория проекта svn (скажем, project_tomcat_migration_v3) и отправьте его в репозиторий git на master.Остальные дубликаты репозиториев (скажем, v1 и v2) я хочу выдвинуть на отдельную ветку.Есть ли способ добиться этого с помощью команды git svn.
  2. Если вышеописанное невозможно с git svn, есть ли способ клонировать репозиторий SVN и его в ветку существующего репозитория gitчто-то вокруг линии, как показано ниже:

git svn clone http://url/trunk//trunk/project_v2 --separate_branch_on_existing_repo

1 Ответ

1 голос
/ 20 июня 2019

Используйте svn2git.Вы можете использовать пути, чтобы указать, какое хранилище.

https://github.com/svn-all-fast-export/svn2git

create repository project_v1
end repository

create repository project_v2
end repository

match /trunk/project_v1/
repository project_v1
branch master
end match

match /trunk/project_v2/
repository project_v2
branch master
end match

Примечание: теги являются ветвями в SVN и должны быть объявлены немного по-другому.([^/]+)/ используется для соответствия имени тега.

match /tags/project_v1/([^/]+)/
repository project_v1
branch refs/tags/\1
annotated=true
end match
...