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 и) до оконечной ревизии
Примеры:
hg clone http://selenic.com/hg
hg clone project/ project-feature/
hg clone ssh://user@server//home/projects/alpha/
hg clone --uncompressed http://server/repo -u 1.5
hg clone -r 04e544 experimental/ good/
hg clone http://selenic.com/hg#stable
Подробнее о задании 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) |
параметры, помеченные [+], могут указываться многократно