четверг, 12 августа 2010 г.

Используем git для работы с SVN

Во-первых, почему? Ну, просто эта методика весьма удобна для работы с opensource-проектами, так как даже если вы решите написать патч или наковырять собственную ветку, вам не придется плясать вокруг создания и синхронизации репозитория SVN для своих нужд - в git это все будет "из коробки". Ну и популярность git нынче растет, и вам наверняка не хочется отставать от тренда. Если еще и учесть то, насколько распределенный и легко ветвящийся git удобен, вопросов "почему", остается мало.

В git есть git-svn - интерфейс для работы с SVN, который позволит забирать весь SVN-репозиторий с историей изменений и затем даже коммитить в него.

Возьмем самый циничный пример - заберем исходные коды одного из сторонних модулей для asterisk (более мелкого проекта с svn найти быстро не смог) :)
git svn clone http://www.makhutov.org/svn/chan_datacard/trunk/ chan_datacard
Это создаст локальный git-репозиторий в текущем каталоге, подключится к SVN-репозиторию и заберет его со всеми ревизиями.
Теперь вы можете работать с ним как с обычным git-репозиторием. Делать diff-ы. Гулять по истории версий. Ответвляться от нужной ревизии и поддерживать свою собственную ветку своих патчей. Да-да. Вы можете коммитить в этот git-репозиторий. А потом, в случае чего, можно отправить изменения и в svn:
git svn dcommit

Комментариев нет:

Отправить комментарий