[devel] Бранч для svn-репозитария в git
Alexey I. Froloff
=?iso-8859-1?q?raorn_=CE=C1_altlinux=2Eru?=
Пн Сен 1 00:08:36 MSD 2008
* Eugene Prokopiev <enp@> [080831 23:48]:
> Зачем делать pull в текущий бранч (предполагается, что спек там же?),
> если tar нам сделают из ремотного бранча по тегу, а не из каталога в
> текущем бранче?
Там же ещё и diff есть. Не обязательно в текущий, можно и через
несколько бранчей, например с помощью gear-merge. Смысл в том,
что апстримные сорцы в одном месте, все локальные изменения в
другом (мне удобно когда это в master, некоторые держат в master
только спек, а патчи в "предыдущем" бранче).
Пример "многоветочного" репозитария у меня в mutt1.5.git.
> И в чем принципиальная разница с моим рецептом?
Я его не очень понял и рассказал свой рецепт ;-)
> У меня тоже tar делался из ремотного бранча, но после push на
> git.alt и clone оттуда этот ремотный бранч уже не был виден -
> т.о. разработчик, сделавший clone, не мог просто сделать
> git-svn fetch для обновления апстримных исходников, а должен
> был сделать перед тем git-svn init. В вашем случае это тоже
> так?
Почти. В моём примере их надо тоже пушить явно:
git push origin refs/remotes/trunk:refs/remotes/trunk
git push origin 'refs/remotes/tags/*:refs/remotes/tags/*'
git push origin 'refs/remotes/branches/*:refs/remotes/branches/*'
Правая сторона может быть и не refs/remotes/*, а refs/svn/*. Но
чтобы работал git svn, локально эти ветки должны быть в
refs/remotes/. Хотя по слухам это можно и настроить через
.git/config, но я это пока не очень асилил.
Чтобы второй разработчик мог делать git svn fetch надо либо
скопировать кусок .git/config относящийся к svn у первого
разработчика или сделать git svn init и расставить нужные бранчи
в том виде как их ожидает найти git svn.
> Меня именно модель взаимодействия больше всего интересует - я выпускаю
> одну версию, другой разработчик - следующую, потом выпускаю еще раз я.
$ git remote add РАЗРАБОТЧИК git.alt:/people/РАЗРАБОТЧИК/packages/ПАКЕТ.git
$ git fetch РАЗРАБОТЧИК
Я ещё делаю
$ git fetch РАЗРАБОТЧИК 'refs/heads/*:refs/heads/*'
Если накоммитили в одно время, fast-forward не будет и некоторые
ветки придётся мержить явно.
Ну и синхронизировать периодически между собой.
Два разработчика + SVN есть в ruby.git у меня и kas.
--
Regards,
Sir Raorn.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: Digital signature
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20080901/99d4f257/attachment-0002.bin>
Подробная информация о списке рассылки Devel