Так как в настоящее время я все больше для своих наработок использую 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) в зависимости от характера изменений.
Полезные ссылки:
А ты git не пробовал?
ReplyDeleteНет, мы искали rcs, чтобы его было удобно использовать для разнообразных целей, и чтобы он достаточно просто и легко ставился из портов FreeBSD. Тот же subversion тянет за собой весьма много зависимостей - для сравнения mercurial требует для работы (включая веб морду) только питон, а subversion тянет Neon, mod_dav, которые, в свою очередь, тянут еще кучу зависимостей. Это не очень удобно для наших задач.
ReplyDeleteThis comment has been removed by a blog administrator.
ReplyDelete