Искам да конвертирам съществуващо 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
).