Я хочу преобразовать существующий репозиторий SVN с нестандартным макетом, который выглядит следующим образом:
/ (root)
/trunk
regular trunk stuff that I would like to make the "master" branch
/folder1
files that I would like to make a separate branch "folder1"
/folder2
files that I would like to make a separate branch "folder2"
/folder3
files that I would like to make a separate branch "folder3"
... в репозиторий git с сохранением истории.
Загвоздка в том, что folder1
, folder2
и folder3
не ответвляются от некоторой точки в trunk
; они представляют собой отдельный набор файлов, и они не укоренены в каком-либо удобном подкаталоге (что отличает этот вопрос от тот).
Желаемый макет ветки git будет выглядеть так:
master -----+------(trunk r1)------(trunk r2)----...
|
folder1 \-----(folder1 r1)----(folder1 r2)---...
|
folder2 \-----(folder2 r1)----(folder2 r2)---...
|
folder3 \-----(folder3 r1)----(folder3 r2)---...
(Эти номера ревизий не являются фактическими номерами ревизий svn, а просто номером фиксации в этой конкретной папке)
Я пробовал использовать git svn
, но мне кажется, что ветки должны быть в одном каталоге, содержащем по одной подпапке на ветку. Проблема в том, что если я сделаю это, мне придется использовать /
(корневой каталог) в качестве каталога ветвей, что сделает trunk
отдельной веткой (в то время как я хочу использовать его как ветку master
).