Двоичный файл hg
выполняет всю работу при каждом вызове.
hg
на самом деле не нужен сервер. Вы можете действительно легко создать его с помощью команды hg serve
, но это больше для взаимодействия с другими людьми, чем с чем-либо еще, и по умолчанию он не разрешает доступ для записи.
Mercurial долгое время выживал с сервером, который не разрешал доступ для записи. Децентрализованная система VC действительно не нуждается в ней, или, по крайней мере, она не соответствует абсолютному требованию, которое было бы с централизованной системой. Все просто пишут в свой локальный репозиторий, а затем рекламируют свои изменения для других людей (например, хранитель «официального» дерева).
На самом деле, даже если есть центральный сервер, на который вы можете перейти, вы всегда фиксируете свои изменения в своем локальном репозитории, прежде чем отправлять их. Толчок больше похож на синхронизацию базы данных, чем на коммит, о котором вы могли бы подумать, если вы привыкли к таким вещам, как Subversion или Perforce.
Mercurial ищет каталог с именем .hg
в текущем каталоге, или родительский каталог, или родительский элемент родителя и т. Д., Чтобы определить, находится ли он в репозитории Mercurial. Команда hg init
будет работать для пользователей без каких-либо административных привилегий.