Fork me on GitHub

The WebDevil

Enjoy development

git

До общения с Oleganza я не видел у git каких-либо ярких преимуществ перед bzr.
И, наверное, не увидел бы, если бы не Олег.

Первое что было самым необычным – git полностью децентрализованый. И привычный svn-like workflow тут не работает. Надо было привыкать к branch-style.

Второе – это то, что команды с теми же названиями что и у svn имеют другой смысл.

Жутко понравилось что ветки git держит в себе, то есть не надо плодить по 3-4 папки для разных фичей.

gitosis

Также я задумался о совместной работе. github – это, конечно, хорошо, но у меня уже есть багтракер понимающий git. Отчего бы не попробовать git на своем сервере?

Был заведен юзерь git без пароля

sudo adduser --shell /bin/sh --gecos 'git version control' --disabled-password --home /home/git git

поставлен gitosis

sudo apt-get install gitosis

сделаны небольшие правки его сорсов (дело в том, что по умолчанию gitosis создает репо с маской 0750, мне же надо было с 0755 – чтоб www-data мог его читать):
правим

/var/lib/python-support/python2.5/gitosis-0.2-py2.5.egg/gitosis/repository.py

и заменяем 0750 на 0755.

Подробнее описано в блоге разработчика gitosis.

tailor and bzr

Когда все взлетело с git, решил попробовать отконвертировать при помощи утилиты tailor старые репо из bzr в git.
Конфиг получился примерно такой (замечания приветствуются):

[DEFAULT]
verbose = True

[project]
target = git:target
start-revision = INITIAL
root-directory = /home/dm/tmp/bzr2git
state-file = tailor.state
source = bzr:source
subdir = bzr2git.tmp

[bzr:source]
repository = /home/dm/bzr/BZR_PROJECT_HERE

[git:target]
repository = /home/dm/tmp/bzr2git/tmp/.git

и после запуска

tailor bzr2git.conf

в /home/dm/tmp/bzr2git/bzr2git.tmp появляется вполне живой git-репозитарий. Его я уже стягивал к себе и вливал в gitosis от себя.

Примечание

git не отслеживает пустые папки, и в процессе конвертации теряются “log”, “tmp”, etc… Чтоб отслеживал достаточно

mkdir log
touch log/.empty

Comments are closed.