суббота, 25 июля 2009 г.

Mercurial для сисадмина

Я уже пол-года как спрыгнул с Subversion и использую Mercurial для разработки, оказывается что эта чудесная система контроля версий может быть использована не только программистами, но и сисадминами. Очень удобно ( и полезно) положить конфиг - файлы в Mercurial. К примеру, мне приходится править конфиг файл для Cruise Control, и хочется иметь возможность отслеживать историю изменений файла. Задача решается просто. Заходим в папку где лежит конфиг файл для Cruise Control

hg init // создаем репозиторий
hg add config.xml // добавляем в репозиторий конфиг файл для Cruise Control
hg ci -m 'initial commit' // коммитим конфиг файл

Теперь наш конфиг файл в репозитории Mercurial

Допустим, я (или другой человек) внес измненения в конфиг файл.

Делаем hg ci -m 'Added e-mail notification for nighty build'

Новая версия файла попадает в репозиторий.

Чтобы посмотреть историю изменений в файле набираеем hg log


Можно трекать изменения в папке /etc

cd /etc
sudo hg init // создаем репозиторий для папки etc
cd X11
sudo hg add xorg.conf // трекаем изменения в файле xorg.conf
sudo hg ci -m 'initial commit'

В этом случае я использую Mercurial как своеобразное расширение функциональности файловой системы которое позволяет трекать историю изменения файлов в папке.

3 комментария:

makados комментирует...

а можно сделать, чтобы репозитории сами между собой синхронизировались, без моего участия? чтобы работа происходила как в svn - залил и не паришься

Sergey Grigoriev комментирует...

Я использую для конфиг файлов один локальный репозиторий который обычно живет в той же папке где лежат конфиг файлы, мне не нужно синхронизировать репозитории

Sergey Grigoriev комментирует...

Cинхронизировать можно используя hooks, но я не вижу в этом смысла в случае конфиг файлов.