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

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

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

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

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

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

Чтобы затянуть подмножество наборов изменений, укажите один или более идентификатор ревизии с помощью -r/--rev или ветки с помощь -b/--branch. Клон будет содержать только заданные ревизии и их предков. Эти параметры (равно как и 'clone ист#рев назн') подразумевают --pull, даже для локальных исходных хранилищ. Обратите внимание, что при задании метки, клон будет включать в себя помеченный набор изменений, но не набор изменений, содержащий метку.

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

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

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

В некоторых случаях можно клонировать хранилища и рабочие каталоги целиком жесткими ссылками

$ cp -al ХРАНИЛИЩЕ КЛОН

Это самый быстрый способ клонирования, но он не всегда безопасен. Эта операция не атомарна (вам надо следить за тем, что ХРАНИЛИЩЕ не изменяется в процессе копирования), и вам надо убедиться, что ваш редактор умеет разрывать жесткие ссылки (Emacs и большинство инструментов разработчика ядра Linux умеют). Этот способ также не совместим с некоторыми расширениями, которые хранят свои метаданные в каталоге .hg, таких как mq.

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

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

Примеры:

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

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

параметры:

-U --noupdate клон будет включать пустой рабочий каталог (только хранилище)
-u --updaterev РЕВИЗИЯ ревизия, метка или ветка на которую обновиться
-r --rev РЕВИЗИЯ [+] включить указанный набор изменений
-b --branch ВЕТКА [+] клонировать только указанную ветку
--pull использовать протокол затягивания для копирования метаданных
--uncompressed не использовать сжатие при передачи (быстрее в локальной сети)
-e --ssh КОМАНДА используемая команда для ssh
--remotecmd КОМАНДА команда Mercurial, которая будет запущена на отдалённом компьютере
--insecure не проверять сертификат сервера (игнорируя настройку web.cacerts)

параметры, помеченные [+], могут указываться многократно

глобальные параметры:

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

параметры, помеченные [+], могут указываться многократно