Всеволод Стахов. Заметки.

24Окт/072

Немного о mercurial

Так как в настоящее время я все больше для своих наработок использую  mercurial, то для тех, кто с этой rcs не знаком я написал некоторые рекоммендации (предполагается знание хотя бы cvs):

Коротко как использовать mercurial:

идея распределенного хранилища проста - каждая рабочая копия - это целиком хранилище. Для создания хранилища в рабочей копии используем команду

hg init <PATH>

Далее добавляем файлы и каталоги:

cd <PATH>

hg add *

Для помещения хранилища на удаленную машину (аналог клиент-сервера) используем:

hg push ssh://<machine>/<PATH>

но предварительно на удаленной машине надо сделать hg init <PATH>

(можно также использовать вместо push clone). После этого мы имеем 2 одинаковых репозитария. Для коммита в локальный репозитарий используем обычный hg commit. Для синхронизации - hg push. Следующее действие - извлечение рабочей копии из репозитария (checkout) делается следующим образом:

hg clone <PATH> <DEST>, где <PATH> может быть ssh://machine/<PATH>

в каталоге <DEST> создается рабочая копия репозитария и сам репозитарий (каталог .hg). Чтобы получить изменения из общего репозитария можно воспользоваться командой pull, которая делает обратное push - вытаскивает из удаленного репозитария копию и синхронизирует с локальным репозитарием:

hg pull <PATH>, как обычно <PATH> может быть удаленным (ssh)

Остальные команды похожи на cvs, но всегда надо помнить о том, что ты работаешь с _локальным_ репозитарием и о том, что локальный репозитарий необходимо синхронизировать командой push (commit) или pull (checkout) в зависимости от характера изменений.

Полезные ссылки:

Связано с категорией: Work Оставить комментарий
Комментарии (2) Пинги (0)
  1. А ты git не пробовал?

    [Ответить]

  2. Нет, мы искали rcs, чтобы его было удобно использовать для разнообразных целей, и чтобы он достаточно просто и легко ставился из портов FreeBSD. Тот же subversion тянет за собой весьма много зависимостей – для сравнения mercurial требует для работы (включая веб морду) только питон, а subversion тянет Neon, mod_dav, которые, в свою очередь, тянут еще кучу зависимостей. Это не очень удобно для наших задач.

    [Ответить]


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


Нет обратных ссылок на эту запись.