У нас есть большой, довольно старый SVN-репозиторий, который мы хотели бы перенести в git.К сожалению, наша отраслевая структура довольно сложна;у него есть вложенные ветви различной глубины, некоторые ветви располагаются рядом с вложенными папками:
branches/
branch1/
branch2/
teams/
team1/
projectBranch1
team2/
projectBranch2
В моем git-конфиге я пробовал
branches = branches/*/*/*:refs/remotes/origin/*/*/*
, который прекрасно импортировал ветви команды,но при получении обновлений для "branch1" он обрабатывает первые несколько каталогов проекта как часть имени ветви, создавая ветви как branch1/src/com/
.Затем я попытался:
branches = branches/teams/*/*:refs/remotes/origin/teams/*/*
branches = branches/*:refs/remotes/origin/*
, надеясь, что коммиты в командные проекты будут сопоставлены первыми, а подстановочный знак первого уровня используется только для веток верхнего уровня.Но затем он возвращается к обработке ветвей команд как подкаталогов ветви «команд».Затем я надеялся, что изменение порядка терминов в файле конфигурации может изменить порядок сопоставления, но это, похоже, не имеет значения.
Мне удалось получить чистую миграцию из последних ревизий, настроивподстановочный знак верхнего уровня для соответствия только определенным именам, так что нет никакой двусмысленности между двумя branches
терминами.Но в идеале я хотел бы перейти со старых версий, где имена веток верхнего уровня менее легко выбираются.Можно ли как-нибудь убедить git-svn сопоставить записи branches
, используя правило "наиболее специфичный первый"?