hg clone [ПАРАМЕТР]... ИСТОЧНИК [НАЗН]

создать копию существующего хранилища

Создает копию существующего хранилища в новом каталоге.

Если каталог назначения не задан, используется базовая часть имени каталога источника.

Адрес источника добавляется в файл ".hg/hgrc" нового хранилища, и используется по умолчанию для последующих затягиваний.

В качестве путей назначения поддерживаются только локальные пути и URL вида "ssh://". Для назначения "ssh://" не создается рабочей копии или файла ".hg/hgrc" на отдаленной стороне.

Если хранилище-источник имеет закладку с именем '@', эта ревизия будет автоматически извлечена в новом хранилище по умолчанию.

Чтобы извлечь конкретную версию, используйте -u/--update; чтобы создать клон без рабочего каталога, используйте -U/--noupdate.

To pull only a subset of changesets, specify one or more revisions identifiers with -r/--rev or branches with -b/--branch. The resulting clone will contain only the specified changesets and their ancestors. These options (or 'clone src#rev dest') imply --pull, even for local source repositories.

In normal clone mode, the remote normalizes repository data into a common exchange format and the receiving end translates this data into its local storage format. --stream activates a different clone mode that essentially copies repository files from the remote with minimal data processing. This significantly reduces the CPU cost of a clone both remotely and locally. However, it often increases the transferred data size by 30-40%. This can result in substantially faster clones where I/O throughput is plentiful, especially for larger repositories. A side-effect of --stream clones is that storage settings and requirements on the remote are applied locally: a modern client may inherit legacy or inefficient storage used by the remote or a legacy Mercurial client may not be able to clone from a modern Mercurial remote.

Примечание:

Specifying a tag will include the tagged changeset but not the changeset containing the tag.

Из соображений эффективности при клонировании источника находящегося на одной файловой системе с хранилищем назначения, используются жесткие ссылки (это относится только к данным хранилища, не рабочему каталогу). Некоторые файловые системы, например, AFS, некорректно реализуют жесткие ссылки, но не сообщают об ошибках. В этом случае используйте --pull чтобы избежать жестких ссылок.

Mercurial обновит рабочий каталог до первой подходящей ревизии по списку:

а) пустой каталог, если в источнике нет наборов изменений или указан -U б) если указано -u . и источник локален, до первого родителя рабочей копии источника в) ревизия, указанная в -u (если это имя ветки, то до головной ревизии этой ветки) г) до ревизии, указанной с помощью -r д) до самой новой головной ревизии указанной в -b е) до самой новой головной ревизии заданной как url#ветка ж) до ревизии с закладкой '@', если таковая существует з) до самой новой головной ревизии ветки default и) до оконечной ревизии

When cloning from servers that support it, Mercurial may fetch pre-generated data from a server-advertised URL or inline from the same stream. When this is done, hooks operating on incoming changesets and changegroups may fire more than once, once for each pre-generated bundle and as well as for any additional remaining data. In addition, if an error occurs, the repository may be rolled back to a partial clone. This behavior may change in future releases. See 'hg help -e clonebundles' for more.

Примеры:

Подробнее о задании URL хранилища см. 'hg help urls'.

В случае успеха возвращает 0.

options ([+] can be repeated):

-U --noupdate the clone will include an empty working directory (only a repository)
-u --updaterev РЕВИЗИЯ revision, tag, or branch to check out
-r --rev РЕВИЗИЯ [+] do not clone everything, but include this changeset and its ancestors
-b --branch ВЕТКА [+] do not clone everything, but include this branch's changesets and their ancestors
--pull использовать протокол затягивания для копирования метаданных
--uncompressed an alias to --stream (DEPRECATED)
--stream clone with minimal data processing
-e --ssh КОМАНДА используемая команда для ssh
--remotecmd КОМАНДА команда Mercurial, которая будет запущена на отдалённом компьютере
--insecure не проверять сертификат сервера (игнорируя настройку web.cacerts)

global options ([+] can be repeated):

-R --repository ХРАНИЛИЩЕ корневой каталог хранилища или имя файла комплекта
--cwd КАТАЛОГ сменить рабочий каталог
-y --noninteractive не спрашивать, на все вопросы автоматически выбирать первый вариант
-q --quiet подавлять вывод
-v --verbose включить дополнительный вывод
--color ТИП when to colorize (boolean, always, auto, never, or debug)
--config КОНФИГ [+] задать/переопределить параметр конфигурации (в виде 'секция.параметр=значение')
--debug включить отладочный вывод
--debugger запустить отладчик
--encoding КОДИРОВКА установить кодировку (по умолчанию: UTF-8)
--encodingmode РЕЖИМ установить режим кодировки (по умолчанию: strict)
--traceback всегда печатать трассировку стека при исключении
--time время выполнения команды
--profile профилирование выполнения команды
--version напечатать информацию о версии и выйти
-h --help показать справку и выйти
--hidden учитывать скрытые наборы изменений
--pager ТИП когда использовать прокрутку (логический. always (всегда), auto(автоматически) или never (никогда) (по умолчанию: auto)