[devel] Q: fpc.git + git-svn
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Сб Сен 16 04:35:49 MSD 2006
Вопрос к знатокам по git. Всё ли я сделал правильно?
У меня есть два урла:
http://svn.freepascal.org/svn/fpc/branches/fixes_2_0/compiler
http://svn.freepascal.org/svn/fpc/branches/fixes_2_0/rtl
Я хочу импортировать их в git репозитарий и работать с ними как с единым
целым. Я делаю примерно вот что:
$ GIT_SVN_NO_LIB=1 git-svn --id fpc20-compiler init http://svn.freepascal.org/svn/fpc/branches/fixes_2_0/compiler
$ GIT_SVN_NO_LIB=1 git-svn --id fpc20-compiler fetch
...
$ GIT_SVN_NO_LIB=1 git-svn --id fpc20-rtl init http://svn.freepascal.org/svn/fpc/branches/fixes_2_0/rtl
$ GIT_SVN_NO_LIB=1 git-svn --id fpc20-rtl fetch
...
В этом месте есть только один бранч master, который как бы
соответствует fpc20-compiler. Для fpc20-rtl отдельного бранча не
появилось. Здесь я плохо понял, куда он там чего сделал, ну ладно.
Дальше план: переложить compiler и rtl в отдельные каталоги и слить всё
это в единый бранч.
$ git-checkout -b rtl remotes/fpc20-rtl
$ mkdir rtl
$ setopt extended_glob
$ git-mv *~rtl(/) rtl/
$ git-mv *(.) rtl/
$ git-commit -a -m "prepared rtl to be imported"
(переместил весь rtl в каталог rtl/ и закоммитил в бранч rtl)
$ git-checkout master
$ mkdir compiler
$ git-mv *(.) compiler/
$ git-mv *~compiler(/) compiler/
$ git-commit -a -m 'moved compiler to its separate subdir'
(переместил compiler в каталог compiler и закоммитил в бранч master)
$ git-merge "Merged compiler and rtl" master rtl
$ git-branch -D rtl
(слилил master/compiler+rtl=master и удалил бранч rtl)
Что показывает теперь gitk, я приложил картинкой.
Меня теперь интересует, что в действительности получилось и как дальше
сливать изменения.
Во-первых, мне не понятно, где находятся бранчи fpc20-compiler и
fpc20-rtl. На картинке видно бранч fpc20-rtl и там дальше внизу есть
бранч fpc20-compiler, но git-branch показывает всего один бранч "* master".
Теперь, если я буду продолжать делать `git-svn --id fpc20-rtl fetch' и
`git-svn --id fpc20-rtl fetch', куда будут сливаться svn'овские
изменения? Они сразу окажутся в бранче master? Или после того, как я
сливаю очередные изменения, нужно будет отдельно делать
`git-pull . remotes/fpc20-comiler' и `git-pull . remotes/fpc20-rtl'?
А можно ли будет два этих пулла сделать атомарно? Что-то я вообще не
понял, в git'е есть понятие changeset или нет?
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : fpc.png
Тип : image/png
Размер : 3773 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20060916/fa6102b1/attachment-0001.png>
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20060916/fa6102b1/attachment-0001.bin>
Подробная информация о списке рассылки Devel