Git и Subversion могут жить вместе

Любые обсуждения, не нарушающие правил форума.

Модератор: Модераторы

Git и Subversion могут жить вместе

Сообщение Attid » 05.05.2008 14:10:16

Git и Subversion могут жить вместе




Предположим, что у вас есть централизованный сервер с svn репозиторием, но вы хотите использовать git локально, делать commit'ы, ветки и другие прелести децентрализованной системы контроля версий. С помощью git-svn это довольно просто.

Если вы еще не сделали svn checkout:

1. Узнаем какой была последняя ревизия в svn (предположим это REVISION)
2. cd project && git-svn init http://svn.example.com
3. git-svn fetch -rREVISION (наша запомненная ревизия)

Если уже есть checkout версия:

1. cd project && git-svn clone --tags=<путь к tags> –-trunk=<путь к trunk> –-branches=<путь к branches> https://svn.example.com

Если у вас стандартное расположение trunk, branches, tags, можно заменить одной опцией --stdlayout.

В процессе инициализации или клонирования можно передать другие полезные опции, например, -username=<имя пользователя>, если необходимо.

Переключиться на ветку (напр. branches/stable) можно следующим образом:
git checkout stable

Стандартная цепочка действий:

1. git-svn rebase (синхронизируемся)
2. ... (git магия и т.п.)
3. git-svn dcommit (отправляем все на svn сервер)

Может сложиться ситуация когда вам нужно синхронизироваться с svn репозитория, но локально в git версии вы сделали изменения, которые еще не готовы отправить на сервер. Если сейчас обновиться - все это пропадет. Для обхода этой ситуации воспользуемся следующей последовательностью магических действий:

1. git-stash (временно изымаем git изменения)
2. git-svn rebase (синхронизируемся с svn сервером)
3. git-stash apply (возвращаем обратно git изменения)
4. git-stash clear (очищаем stash)

Компилятивный материал из источников:

man git-svn (секция EXAMPLES есть ;)
http://www.flavio.castelli.name/howto_use_git_with_svn
http://garuma.wordpress.com/2008/04/26/ ... ositories/
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: Git и Subversion могут жить вместе

Сообщение B4rr4cuda » 05.05.2008 17:01:43

Спасибо! Ценная инфа.
Аватара пользователя
B4rr4cuda
энтузиаст
 
Сообщения: 693
Зарегистрирован: 28.12.2007 07:48:35


Вернуться в Потрепаться

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12

Рейтинг@Mail.ru
cron