hg - Интернет в облаке

Это команда hg, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


hg - Mercurial система управления исходным кодом

СИНТАКСИС


hg команду [вариант] ... [аргумент] ...

ОПИСАНИЕ


" hg Команда предоставляет интерфейс командной строки для системы Mercurial.

КОМАНДА ЭЛЕМЕНТЫ


файлы ...
указывает одно или несколько имен файлов или относительный путь имен файлов; см. Шаблоны имен файлов
для информации о сопоставлении с образцом

путь указывает путь на локальном компьютере

пересмотр
указывает набор изменений, который может быть указан как номер редакции набора изменений, тег,
или уникальная подстрока хеш-значения набора изменений

хранилище путь
либо путь к локальному репозиторию, либо URI удаленного репозитория.

ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ


-Р,--репозиторий
корневой каталог репозитория или имя файла пакета оверлея

--cwd
сменить рабочий каталог

-у, --неинтерактивный
не запрашивать, автоматически выбирать первый вариант для всех запросов

-д, --тихий
подавить вывод

-в, --подробный
включить дополнительный вывод

--config
установить / переопределить параметр конфигурации (используйте 'section.name = value')

--отлаживать
включить вывод отладки

--отладчик
запустить отладчик

- кодирование
установить кодировку кодировки (по умолчанию: UTF-8)

--encodingmode
установить режим кодировки кодировки (по умолчанию: строгий)

--Выслеживать
всегда печатать трассировку исключения

--время время, сколько времени занимает команда

--профиль
профиль выполнения команды печати

--версия
вывести информацию о версии и выйти

-час, --Помогите
отобразить справку и выйти

--скрытый
рассмотреть скрытые изменения

[+] отмеченный вариант можно указывать несколько раз

КОМАНДЫ



добавить указанные файлы при следующем коммите:

hg add [ОПЦИЯ] ... [ФАЙЛ] ...

Планируйте файлы для контроля версий и добавления в репозиторий.

Файлы будут добавлены в репозиторий при следующей фиксации. Чтобы отменить добавленное перед этим,
посмотреть hg забывать.

Если имена не указаны, добавить все файлы в репозиторий (кроме файлов, соответствующих .hgignore).

Примеры:

· Новые (неизвестные) файлы добавляются автоматически hg :

$ лс
foo.c
$ hg статус
? foo.c
$ hg добавить
добавление foo.c
$ hg статус
Foo.c

· Можно указать конкретные файлы для добавления:

$ лс
бар.с foo.c
$ hg статус
? бар.с
? foo.c
$ hg добавить bar.c
$ hg статус
Бар.c
? foo.c

Возвращает 0, если все файлы добавлены успешно.

Опции:

-Я,--включают
включать имена, соответствующие заданным шаблонам

-ИКС,--исключать
исключить имена, соответствующие заданным шаблонам

-С, --subrepos
рекурсивно в субхранилища

-н, --прогон, репетиция
не выполнять действий, просто распечатать вывод

[+] отмеченный вариант можно указывать несколько раз

добавитьудалить
добавить все новые файлы, удалить все отсутствующие файлы:

hg addremove [ОПЦИЯ] ... [ФАЙЛ] ...

Добавьте все новые файлы и удалите все отсутствующие файлы из репозитория.

Если имена не указаны, новые файлы игнорируются, если они соответствуют любому из шаблонов в
.hgignore. Как и в случае с add, эти изменения вступят в силу при следующей фиксации.

Используйте параметр -s / - подобие для обнаружения переименованных файлов. Эта опция берет проценты
от 0 (отключено) до 100 (файлы должны быть идентичны) в качестве параметра. С параметром
больше 0, каждый удаленный файл сравнивается с каждым добавленным файлом и записываются
достаточно похоже на переименование. Обнаружение переименованных файлов таким способом может быть дорогостоящим. После использования
этот вариант, hg статус -C может использоваться, чтобы проверить, какие файлы были идентифицированы как перемещенные или
переименован. Если не указано, -s / - подобие по умолчанию равно 100 и переименовывает только идентичные
файлы обнаружены.

Примеры:

· Некоторые файлы (bar.c и foo.c) являются новыми, а foobar.c был удален (без
через hg удаление) из репозитория:

$ лс
бар.с foo.c
$ hg статус
! foobar.c
? бар.с
? foo.c
$ hg адрес удаления
добавление bar.c
добавление foo.c
удаление foobar.c
$ hg статус
Бар.c
Foo.c
R foobar.c

· Файл foobar.c был перемещен в foo.c без использования hg переименовать. Впоследствии это было
немного отредактировал:

$ лс
foo.c
$ hg статус
! foobar.c
? foo.c
$ hg addremove --подобие 90
удаление foobar.c
добавление foo.c
запись удаления foobar.c как переименования в foo.c (94% аналогично)
$ hg статус -C
Foo.c
foobar.c
R foobar.c

Возвращает 0, если все файлы добавлены успешно.

Опции:

-с,- сходство
угадать переименованные файлы по сходству (0 <= s <= 100)

-С, --subrepos
рекурсивно в субхранилища

-Я,--включают
включать имена, соответствующие заданным шаблонам

-ИКС,--исключать
исключить имена, соответствующие заданным шаблонам

-н, --прогон, репетиция
не выполнять действий, просто распечатать вывод

[+] отмеченный вариант можно указывать несколько раз

аннотированный
показать информацию о наборе изменений по строкам для каждого файла:

hg annotate [-r REV] [-f] [-a] [-u] [-d] [-n] [-c] [-l] ФАЙЛ ...

Список изменений в файлах с указанием идентификатора ревизии, отвечающей за каждую строку.

Эта команда полезна для определения, когда и кем было внесено изменение.

Если вы включите --file, --user или --date, номер версии будет подавлен, если вы
также включают --number.

Без опции -a / - text аннотация не будет обрабатывать файлы, которые она определяет как двоичные.
С -a, annotate все равно будет аннотировать файл, хотя результаты, вероятно, будут
ни полезно, ни желательно.

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

Опции:

-р,--rev
аннотировать указанную ревизию

--следить
выполните копии / переименования и укажите имя файла (УСТАРЕЛО)

--не следует
не следите за копиями и переименованиями

-a --текст
рассматривать все файлы как текст

-у, --Пользователь
перечислить автора (вместе с -v)

-ф, --файл
перечислить имя файла

-д, --свидание
перечислить дату (коротко с -q)

-н, --количество
перечислить номер ревизии (по умолчанию)

-с, --changeset
перечислить набор изменений

-л, --номер строки
показывать номер строки при первом появлении

-ш, --игнорировать все пробелы
игнорировать пробелы при сравнении строк

-б, --ignore-space-change
игнорировать изменения количества белого пространства

-Б, --игнорировать пустые строки
игнорировать изменения, все строки которых пусты

-Я,--включают
включать имена, соответствующие заданным шаблонам

-ИКС,--исключать
исключить имена, соответствующие заданным шаблонам

-Т,--шаблон
отображение с шаблоном (ЭКСПЕРИМЕНТАЛЬНЫЙ)

[+] отмеченный вариант можно указывать несколько раз

псевдонимы: виноват

архив
создать неверсионный архив ревизии репозитория:

hg archive [ВАРИАНТ] ... DEST

По умолчанию используемая ревизия является родительской для рабочего каталога; используйте -r / - rev to
укажите другую ревизию.

Тип архива определяется автоматически в зависимости от расширения файла (для переопределения используйте
-t / - тип).

Примеры:

· Создать zip-файл, содержащий версию 1.0:

hg archive -r 1.0 проект-1.0.zip

· Создать архив без файлов .hg:

hg архив project.tar.gz -X ".hg *"

Допустимые типы:

файлов

каталог, полный файлов (по умолчанию)

деготь

tar-архив, несжатый

тбз2

tar-архив, сжатый с помощью bzip2

TGZ

tar-архив, сжатый с помощью gzip

распаковать

zip-архив, несжатый

застежка-молния

zip-архив, сжатый с использованием deflate

Точное имя целевого архива или каталога указывается в строке формата; видеть
hg помощь экспорт для получения информации.

Каждому члену, добавленному в файл архива, предшествует префикс каталога. Используйте префикс -p / - для
укажите строку формата для префикса. По умолчанию используется базовое имя архива с
суффиксы удалены.

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

Опции:

--без декодирования
не передавать файлы через декодеры

-п,--приставка
префикс каталога для файлов в архиве

-р,--rev
редакция для распространения

-т,--тип
тип раздачи для создания

-С, --subrepos
рекурсивно в субхранилища

-Я,--включают
включать имена, соответствующие заданным шаблонам

-ИКС,--исключать
исключить имена, соответствующие заданным шаблонам

[+] отмеченный вариант можно указывать несколько раз

обратно
обратный эффект более раннего набора изменений:

hg backout [ОПЦИЯ] ... [-r] REV

Подготовьте новый набор изменений с эффектом отмены REV в текущем рабочем каталоге. Если
никаких конфликтов не возникло, будет совершено немедленно.

Если REV является родительским для рабочего каталога, то этот новый набор изменений фиксируется.
автоматически (если не указан --no-commit).

Внимание hg обратно не может использоваться для исправления нежелательного или неправильного слияния.

Примеры:

· Обратный эффект родительского элемента рабочего каталога. Этот откат будет
совершено немедленно:

hg backout -r.

· Обратить эффект предыдущей плохой версии 23:

hg назад -r 23

· Отменить эффект предыдущей плохой версии 23 и оставить изменения незафиксированными:

hg backout -r 23 --no-commit
hg commit -m "Отказ от редакции 23"

По умолчанию ожидающая ревизия будет иметь одного родителя, поддерживающего линейную историю. С участием
--merge, ожидающая ревизия вместо этого будет иметь двух родителей: старый родитель
рабочий каталог и новый дочерний элемент REV, который просто отменяет REV.

До версии 1.7 поведение без --merge было эквивалентно указанию --merge
последующей hg обновление --чистый . чтобы отменить слияние и оставить дочерний элемент REV в качестве головы
быть объединенным отдельно.

Увидеть hg помощь даты для списка форматов, допустимых для -d / - date.

Увидеть hg помощь возвращаться для способа восстановить файлы до состояния другой ревизии.

Возвращает 0 в случае успеха, 1, если нечего отменять или есть неразрешенные файлы.

Опции:

- объединить
слиться со старым родителем dirstate после отказа

--совершить
зафиксировать, если конфликтов не было (УСТАРЕЛО)

--no-commit
не совершайте

- родитель
родительский выбор при отказе от слияния (УСТАРЕЛО)

-р,--rev
от пересмотра к отказу

-е, --редактировать
вызывать редактор для сообщений фиксации

-т,--орудие труда
указать инструмент слияния

-Я,--включают
включать имена, соответствующие заданным шаблонам

-ИКС,--исключать
исключить имена, соответствующие заданным шаблонам

-м,--сообщение
использовать текст как сообщение фиксации

-л,--лог-файл
прочитать сообщение фиксации из файла

-д,--свидание
записать указанную дату как дату фиксации

-у,--Пользователь
записать указанного пользователя как коммиттера

[+] отмеченный вариант можно указывать несколько раз

Bisect
поиск по подразделам ревизий:

hg bisect [-gbsr] [-U] [-c CMD] [REV]

Эта команда помогает найти ревизии, которые вызывают проблемы. Для использования отметьте самый ранний
набор изменений, который, как вы знаете, показывает проблему как плохую, затем отметьте последний набор изменений, который
свободный от проблемы как хорошо. Bisect обновит ваш рабочий каталог до версии для
тестирование (если не указана опция -U / - noupdate). После того, как вы выполнили тесты,
пометьте рабочий каталог как хороший или плохой, и bisect либо обновит до другого
кандидата ревизии или объявить, что он нашел плохую ревизию.

В качестве ярлыка вы также можете использовать аргумент ревизии, чтобы пометить ревизию как хорошую или плохую.
без предварительной проверки.

Если вы введете команду, она будет использоваться для автоматического деления пополам. Окружающая среда
переменная HG_NODE будет содержать ID тестируемого набора изменений. Статус выхода
команда будет использоваться для отметки исправлений как хороших или плохих: статус 0 означает хорошо, 125 означает, что
пропустить ревизию, 127 (команда не найдена) прервет деление пополам, а любые другие
ненулевой статус выхода означает, что ревизия плохая.

Некоторые примеры:

· Начать деление пополам с заведомо плохой ревизии 34 и хорошей ревизией 12:

hg bisect - плохо 34
hg bisect - хорошо 12

· Продвинуть текущую пополам, пометив текущую ревизию как хорошую или плохую:

hg bisect - хорошо
hg bisect - плохо

· Отметить текущую или известную ревизию, которую следует пропустить (например, если эта ревизия
не может использоваться из-за другой проблемы):

hg bisect - пропустить
hg bisect - пропустить 23

· Пропустить все ревизии, не затрагивающие каталоги Foo or бар:

hg bisect --skip "! (file ('path: foo') & file ('path: bar'))"

· Забыть текущее деление пополам:

hg bisect --reset

· Используйте make && make tests, чтобы автоматически найти первую неработающую ревизию:

hg bisect --reset
hg bisect - плохо 34
hg bisect - хорошо 12
hg bisect --command "make && make tests"

· Просмотреть все ревизии, состояния которых уже известны в текущем делении пополам:

hg log -r "пополам (обрезано)"

· Видеть набор изменений, который в настоящее время делится пополам (особенно полезно при работе с
-U / - noupdate):

hg log -r "пополам (текущий)"

· Просмотреть все ревизии, которые участвовали в текущем делении пополам:

hg log -r "bisect (диапазон)"

· Можно даже получить красивый график:

hg log --graph -r "bisect (диапазон)"

Увидеть hg помощь ревизии больше о пополам () ключевое слово.

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

Опции:

-р, --сброс настроек
сбросить состояние пополам

-грамм, --хороший
отметить набор изменений хорошо

-б, --плохой
пометить набор изменений как плохой

-с, --пропускать
пропустить тестирование набора изменений

-е, --продлевать
расширить диапазон пополам

-с,- команда
используйте команду для проверки состояния набора изменений

-У, --noupdate
не обновлять до цели

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

hg закладки [ОПЦИИ] ... [ИМЯ] ...

Закладки - это метки на наборах изменений, помогающие отслеживать направления разработки. Закладки
неверсионный, его можно перемещать, переименовывать и удалять. Удаление или перемещение закладки не имеет
влияние на связанные ревизии.

Создание или обновление закладки приводит к тому, что она помечается как «активная». Активный
закладка обозначается знаком «*». Когда фиксация сделана, активная закладка переместится.
в новую фиксацию. Равнина hg обновление также, если возможно, переместит активную закладку.
Обновление вне закладки приведет к ее деактивации.

Закладки можно перемещать и перетаскивать между репозиториями (см. hg помощь протолкнуть. и hg помощь тянуть
). Если общая закладка разошлась, новая «расходящаяся закладка» в форме «имя @ путь»
будет создан. С использованием hg слияние разрешит расхождение.

Закладка с именем '@' имеет специальное свойство: hg клонировать проверит это по умолчанию
если он существует.

Примеры:

· Создать активную закладку для нового направления развития:

новая функция hg book

· Создать неактивную закладку как маркер места:

hg book -i проверено

· Создать неактивную закладку в другом наборе изменений:

hg book -r. ^ проверено

· Переименовать индейку в закладки на ужин:

hg book -m ужин из индейки

· Переместите закладку '@' из другой ветки:

hg книга -f @

Опции:

-ф, --сила
сила

-р,--rev
версия для действия закладки

-д, --удалять
удалить данную закладку

-м,--переименовать
переименовать данную закладку

-я, --неактивный
пометить закладку как неактивную

-Т,--шаблон
отображение с шаблоном (ЭКСПЕРИМЕНТАЛЬНЫЙ)

псевдонимы: закладка

филиал
установить или показать текущее имя ветки:

ветвь hg [-fC] [ИМЯ]

Примечание. Имена веток являются постоянными и глобальными. Использовать hg закладка создать легкий
вместо этого сделайте закладку. Видеть hg помощь Глоссарий для получения дополнительной информации об именованных ветвях
и закладки.

Без аргументов показать текущее имя ветки. Одним аргументом установите рабочий
имя ветки каталога (ветка не будет существовать в репозитории до следующего коммита).
Стандартная практика рекомендует, чтобы первичная разработка происходила в ветке «по умолчанию».

Если не указан параметр -f / - force, ветка не позволит вам установить имя ветки, которое уже
существует.

Используйте -C / - clean, чтобы сбросить ветвь рабочего каталога на ветку родительского рабочего каталога.
каталог, отменяя предыдущее изменение ветки.

Используйте команду hg обновление чтобы переключиться на существующую ветку. Использовать hg совершать --close-ветка в
отметьте эту головку ветки как закрытую. Когда все руководители филиала закрыты, филиал будет
считаться закрытым.

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

Опции:

-ф, --сила
установить имя ветки, даже если оно затеняет существующую ветку

-С, --чистый
сбросить имя ветки на имя родительской ветки

ветви
список репозиториев с именами ветвей:

ветви hg [-c]

Перечислите именованные ветки репозитория, указав, какие из них неактивны. Если -c / - закрыто
указывается, также перечисляются ветки, которые были помечены как закрытые (см. hg совершать
--close-ветка).

Используйте команду hg обновление чтобы переключиться на существующую ветку.

Возвращает 0.

Опции:

-a --активный
показывать только ветки с неподключенными головками (УСТАРЕЛО)

-с, --закрыто
показать нормальные и закрытые ветви

-Т,--шаблон
отображение с шаблоном (ЭКСПЕРИМЕНТАЛЬНЫЙ)

пакет
создать файл группы изменений:

hg bundle [-f] [-t ТИП] [-a] [-r REV] ... [--base REV] ... ФАЙЛ [DEST]

Создайте файл группы изменений, собирающий ревизии для добавления в репозиторий.

Чтобы создать пакет, содержащий все ревизии, используйте -a / - all (или --base null). В противном случае hg
предполагает, что в пункте назначения будут все узлы, которые вы укажете с параметрами --base.
В противном случае hg будет считать, что в репозитории есть все узлы назначения, или
default-push / default, если место назначения не указано.

Вы можете изменить формат пакета с помощью опции -t / - type. Вы можете указать сжатие,
версия пакета или оба с помощью тире (comp-version). Доступные методы сжатия:
none, bzip2 и gzip (по умолчанию пакеты сжимаются с помощью bzip2). Доступные
форматы: v1, v2 (по умолчанию - наиболее подходящий).

Затем файл пакета можно передать обычными средствами и применить к другому
репозиторий с помощью команды unbundle или pull. Это полезно при прямом толкании и вытягивании.
недоступно или когда экспорт всего репозитория нежелателен.

Применение пакетов сохраняет все содержимое набора изменений, включая разрешения, копирование / переименование
информация и история изменений.

Возвращает 0 в случае успеха, 1, если изменений не обнаружено.

Опции:

-ф, --сила
бегать, даже если пункт назначения не связан

-р,--rev
набор изменений, предназначенный для добавления в место назначения

-б,--ветвь
конкретная ветка, которую вы хотите объединить

--база
базовый набор изменений, который предполагается доступным в месте назначения

-a --все
объединить все ревизии в репозиторий

-т,--тип
используемый тип сжатия пакета (по умолчанию: bzip2)

-е,--шш
укажите команду ssh для использования

--remotecmd
укажите команду hg для запуска на удаленной стороне

--ненадежный
не проверять сертификат сервера (игнорируя конфигурацию web.cacerts)

[+] отмеченный вариант можно указывать несколько раз

кошка
вывести текущую или заданную ревизию файлов:

hg cat [ВАРИАНТ] ... ФАЙЛ ...

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

Вывод может быть в файл, и в этом случае имя файла дается в формате
нить. Правила форматирования следующие:

%%

буквальный "%" символ

%s

базовое имя печатаемого файла

%d

dirname печатаемого файла или '.' если в корне репозитория

%p

относительный путь к корню печатаемого файла

%H

хеш набора изменений (40 шестнадцатеричных цифр)

%R

номер редакции набора изменений

%h

краткий хэш набора изменений (12 шестнадцатеричных цифр)

%r

дополненный нулями номер редакции набора изменений

%b

базовое имя экспортирующего репозитория

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

Опции:

-о,--выход
распечатать вывод в файл с форматированным именем

-р,--rev
распечатать данную ревизию

--декодировать
применить любой соответствующий фильтр декодирования

-Я,--включают
включать имена, соответствующие заданным шаблонам

-ИКС,--исключать
исключить имена, соответствующие заданным шаблонам

[+] отмеченный вариант можно указывать несколько раз

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

hg clone [ВАРИАНТ] ... ИСТОЧНИК [DEST]

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

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

Местоположение источника добавлено в новый репозиторий. .hg / hgrc файл по умолчанию
для использования в будущем.

Только локальные пути и ssh: // URL-адреса поддерживаются как места назначения. Для ssh: // направления,
нет рабочего каталога или .hg / hgrc будет создан на удаленной стороне.

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

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

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

Примечание. Указание тега будет включать набор изменений с тегами, но не набор изменений, содержащий
тег.

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

В некоторых случаях вы можете клонировать репозитории и рабочий каталог, используя полные жесткие ссылки.


РЕПОКЛОН РЕПО $ cp -al

Это самый быстрый способ клонирования, но не всегда безопасный. Операция не атомарная
(убедитесь, что REPO не изменяется во время операции, зависит от вас), и вы должны сделать
убедитесь, что ваш редактор разрывает жесткие ссылки (Emacs и большинство инструментов ядра Linux делают это). Кроме того, это
несовместимы с некоторыми расширениями, которые размещают свои метаданные в каталоге .hg,
например, mq.

Mercurial обновит рабочий каталог до первой применимой ревизии из этого
список:

а. null, если -U или исходный репозиторий не имеет наборов изменений

б. если ты . и исходный репозиторий является локальным, первым родительским элементом исходного репозитория
рабочий каталог

c. набор изменений, указанный с помощью -u (если имя ветки, это означает последний заголовок этого
филиал)

d. набор изменений, указанный с помощью -r

е. крайняя головка, указанная с помощью -b

f. крайняя головка, указанная с помощью синтаксиса источника url # ветки

г. ревизия, отмеченная закладкой '@', если таковая имеется

час самая верхняя часть ветки по умолчанию

я. Подсказка

При клонировании с серверов, которые его поддерживают, Mercurial может получать предварительно сгенерированные данные из
объявленный сервером URL. Когда это будет сделано, хуки, работающие с входящими наборами изменений и
группы изменений могут запускаться дважды: один раз для пакета, полученного из URL-адреса, а другой - для любого
дополнительные данные не извлекаются из этого URL. Кроме того, при возникновении ошибки репозиторий
можно откатить до частичного клона. Это поведение может измениться в будущих выпусках. Видеть hg
помощь -e клоны больше.

Примеры:

· Клонировать удаленный репозиторий в новый каталог с именем hg /:

клон hg http://selenic.com/hg

· Создать легкий локальный клон:

hg clone проект / особенность проекта /

· Клонирование по абсолютному пути на ssh-сервере (обратите внимание на двойную косую черту):

hg clone ssh: // пользователь @ сервер // главная / проекты / альфа /

· Выполнить высокоскоростной клон по локальной сети при проверке указанной версии:

hg clone - несжатый http://server/repo -u 1.5

· Создать репозиторий без ревизий после конкретной ревизии:

hg clone -r 04e544 экспериментальный / хороший /

· Клонировать (и отслеживать) конкретную именованную ветку:

клон hg http://selenic.com/hg#стабильный

Увидеть hg помощь URL-адреса для получения подробной информации об указании URL-адресов.

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

Опции:

-У, --noupdate
клон будет включать пустой рабочий каталог (только репозиторий)

-у,--updaterev
версия, тег или ветка для проверки

-р,--rev
включить указанный набор изменений

-б,--ветвь
клонировать только указанную ветку

--тянуть использовать протокол pull для копирования метаданных

- несжатый
использовать несжатую передачу (быстро по локальной сети)

-е,--шш
укажите команду ssh для использования

--remotecmd
укажите команду hg для запуска на удаленной стороне

--ненадежный
не проверять сертификат сервера (игнорируя конфигурацию web.cacerts)

[+] отмеченный вариант можно указывать несколько раз

совершать
зафиксировать указанные файлы или все незавершенные изменения:

hg commit [ВАРИАНТ] ... [ФАЙЛ] ...

Зафиксируйте изменения в данных файлах в репозитории. В отличие от централизованного SCM, этот
операция - это локальная операция. Видеть hg протолкнуть. для активного распространения ваших изменений.

Если список файлов опущен, обо всех изменениях сообщает hg статус будет совершено.

Если вы фиксируете результат слияния, не указывайте никаких имен файлов или -I / -X
фильтры.

Если сообщение о фиксации не указано, Mercurial запускает ваш настроенный редактор, где вы можете
введите сообщение. Если ваша фиксация не удалась, вы найдете резервную копию своего сообщения в
.hg / последнее-сообщение.txt.

Флаг --close-branch может использоваться, чтобы пометить текущую головку ветки закрытой. Когда все головы
филиала закрыты, филиал будет считаться закрытым и больше не будет отображаться в списке.

Флаг --amend может использоваться для изменения родительского элемента рабочего каталога новым
фиксация, которая содержит изменения в родительском элементе в дополнение к тем, о которых в настоящее время сообщает
hg статус, если есть. Старая фиксация хранится в резервном пакете в
.hg / стрип-резервная копия (См. hg помощь пакет и hg помощь Unbundle о том, как его восстановить).

Сообщение, пользователь и дата берутся из измененного коммита, если не указано иное. Когда сообщение
не указан в командной строке, откроется редактор с сообщением об измененном
совершить.

Невозможно изменить общедоступные наборы изменений (см. hg помощь фаз) или наборов изменений, у которых есть
детей.

Увидеть hg помощь даты для списка форматов, допустимых для -d / - date.

Возвращает 0 в случае успеха, 1, если ничего не изменилось.

Примеры:

· Зафиксировать все файлы, заканчивающиеся на .py:

hg commit --include "set: **. py"

· Зафиксировать все небинарные файлы:

hg commit --exclude "набор: двоичный ()"

· Изменить текущую фиксацию и установить дату сейчас:

hg commit --amend --date сейчас

Опции:

-А, --adremove
пометьте новые / отсутствующие файлы как добавленные / удаленные перед фиксацией

--close-ветка
пометить головку ветки как закрытую

--исправлять
изменить родительский элемент рабочего каталога

-с, --секрет
использовать секретную фазу для совершения

-е, --редактировать
вызывать редактор для сообщений фиксации

-я, - интерактивный
использовать интерактивный режим

-Я,--включают
включать имена, соответствующие заданным шаблонам

-ИКС,--исключать
исключить имена, соответствующие заданным шаблонам

-м,--сообщение
использовать текст как сообщение фиксации

-л,--лог-файл
прочитать сообщение фиксации из файла

-д,--свидание
записать указанную дату как дату фиксации

-у,--Пользователь
записать указанного пользователя как коммиттера

-С, --subrepos
рекурсивно в субхранилища

[+] отмеченный вариант можно указывать несколько раз

псевдонимы: ci

конфиг
показать комбинированные настройки конфигурации из всех файлов hgrc:

hg config [-u] [ИМЯ] ...

Без аргументов вывести имена и значения всех элементов конфигурации.

С одним аргументом формы section.name выведите только значение этого элемента конфигурации.

С несколькими аргументами вывести имена и значения всех элементов конфигурации с соответствующим разделом
имена.

С помощью --edit запустите редактор файла конфигурации на уровне пользователя. С помощью --global отредактируйте
общесистемный файл конфигурации. С помощью --local отредактируйте файл конфигурации уровня репозитория.

С --debug, источник (имя файла и номер строки) печатается для каждого элемента конфигурации.

Увидеть hg помощь конфиг для получения дополнительной информации о файлах конфигурации.

Возвращает 0 в случае успеха, 1, если NAME не существует.

Опции:

-у, - ненадежный
показать ненадежные параметры конфигурации

-е, --редактировать
редактировать конфигурацию пользователя

-л, --местный
редактировать конфигурацию репозитория

-грамм, --Глобальный
редактировать глобальную конфигурацию

псевдонимы: showconfig debugconfig

копия
пометить файлы как скопированные для следующего коммита:

hg copy [OPTION] ... [SOURCE] ... DEST

Отметьте dest как имеющий копии исходных файлов. Если dest - это каталог, копии помещаются в этот каталог.
каталог. Если dest - файл, то источник должен быть единственным файлом.

По умолчанию эта команда копирует содержимое файлов в том виде, в котором они существуют в рабочей среде.
каталог. Если вызывается с -A / - после, операция записывается, но копирование не производится.
выполнено.

Эта команда вступит в силу при следующей фиксации. Чтобы отменить копию перед этим, см. hg возвращаться.

Возвращает 0 при успехе, 1 при обнаружении ошибок.

Опции:

-А, --после
записать копию, которая уже произошла

-ф, --сила
принудительно скопировать существующий управляемый файл

-Я,--включают
включать имена, соответствующие заданным шаблонам

-ИКС,--исключать
исключить имена, соответствующие заданным шаблонам

-н, --прогон, репетиция
не выполнять действий, просто распечатать вывод

[+] отмеченный вариант можно указывать несколько раз

псевдонимы: cp

Разница
репозиторий diff (или выбранные файлы):

hg diff [ОПЦИЯ] ... ([-c REV] | [-r REV1 [-r REV2]]) [ФАЙЛ] ...

Показать различия между ревизиями для указанных файлов.

Различия между файлами отображаются с использованием единого формата сравнения.

Внимание hg Разница может привести к неожиданным результатам для слияний, так как по умолчанию будет сравниваться
против первой родительской ревизии рабочего каталога, если никакие ревизии не
указано.

Если даны два аргумента версии, то между этими версиями отображаются изменения. Если
указывается только одна ревизия, затем эта ревизия сравнивается с рабочим каталогом,
и, если ревизии не указаны, файлы рабочего каталога сравниваются с его
первый родитель.

В качестве альтернативы вы можете указать -c / - изменить с ревизией, чтобы увидеть изменения в этом
набор изменений относительно его первого родителя.

Без опции -a / - text, diff не будет генерировать изменения файлов, которые он определяет как
двоичный. С -a команда diff все равно будет генерировать diff, возможно, с нежелательными результатами.

Используйте параметр -g / - git для генерации различий в расширенном формате различий git. Для большего
информация, читать hg помощь дифференциалы.

Примеры:

· Сравнить файл в текущем рабочем каталоге с его родительским:

hg diff foo.c

· Сравнить две исторические версии каталога с информацией о переименовании:

hg diff --git -r 1.0: 1.2 библиотека /

· Получить статистику изменений относительно последнего изменения в определенную дату:

hg diff --stat -r "дата ('2 мая')"

· Сравнить все недавно добавленные файлы, содержащие ключевое слово:

hg diff "набор: добавлено () и grep (GNU)"

· Сравнить ревизию и ее родителей:

hg diff -c 9353 # сравнить с первым родителем
hg diff -r 9353 ^: 9353 # то же самое с синтаксисом revset
hg diff -r 9353 ^ 2: 9353 # сравнить со вторым родителем

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

Опции:

-р,--rev
пересмотр

-с,--изменение
изменение внесено ревизией

-a --текст
рассматривать все файлы как текст

-грамм, --git
использовать расширенный формат сравнения git

- узлы
опускать даты из заголовков различий

--noprefix
опускать префиксы a / и b / в именах файлов

-п, --show-функция
показать, в какой функции находится каждое изменение

--задний ход
создать разницу, которая отменяет изменения

-ш, --игнорировать все пробелы
игнорировать пробелы при сравнении строк

-б, --ignore-space-change
игнорировать изменения количества белого пространства

-Б, --игнорировать пустые строки
игнорировать изменения, все строки которых пусты

-У,- объединенный
количество строк контекста для отображения

--stat вывести сводку изменений в стиле diffstat

--корень
создавать различия относительно подкаталога

-Я,--включают
включать имена, соответствующие заданным шаблонам

-ИКС,--исключать
исключить имена, соответствующие заданным шаблонам

-С, --subrepos
рекурсивно в субхранилища

[+] отмеченный вариант можно указывать несколько раз

экспорт
дамп заголовка и различий для одного или нескольких наборов изменений:

hg export [ОПЦИЯ] ... [-o OUTFILESPEC] [-r] [REV] ...

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

Информация, отображаемая в заголовке набора изменений: автор, дата, название ветки (если
не по умолчанию), хэш набора изменений, родитель (и) и комментарий фиксации.

Внимание hg экспорт может генерировать неожиданный вывод diff для наборов изменений слияния, так как это будет
сравните набор изменений слияния только с его первым родителем.

Вывод может быть в файл, и в этом случае имя файла дается в формате
нить. Правила форматирования следующие:

%%

буквальный "%" символ

%H

хеш набора изменений (40 шестнадцатеричных цифр)

%N

количество генерируемых патчей

%R

номер редакции набора изменений

%b

базовое имя экспортирующего репозитория

%h

краткий хэш набора изменений (12 шестнадцатеричных цифр)

%m

первая строка сообщения о фиксации (только буквенно-цифровые символы)

%n

дополненный нулями порядковый номер, начиная с 1

%r

дополненный нулями номер редакции набора изменений

Без опции -a / - text, при экспорте не будут создаваться различия файлов, которые он определяет как
двоичный. С -a экспорт все равно сгенерирует разницу, возможно, с нежелательными результатами.

Используйте параметр -g / - git для генерации различий в расширенном формате различий git. Видеть hg помощь
дифференциалы чтобы получить больше информации.

С параметром --switch-parent различие будет относиться ко второму родительскому элементу. Это может быть
полезно для обзора слияния.

Примеры:

· Используйте экспорт и импорт, чтобы перенести исправление в текущую ветку:

hg экспорт -r 9353 | хг импорт -

· Экспортировать все ревизии между двумя ревизиями в файл с информацией о переименовании:

hg export --git -r 123: 150> changes.txt

· Разделить исходящие изменения на серию патчей с описательными именами:

hg export -r "исходящий ()" -o "% n-% m.patch"

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

Опции:

-о,--выход
распечатать вывод в файл с форматированным именем

- родитель-родитель
diff против второго родителя

-р,--rev
исправления для экспорта

-a --текст
рассматривать все файлы как текст

-грамм, --git
использовать расширенный формат сравнения git

- узлы
опускать даты из заголовков различий

[+] отмеченный вариант можно указывать несколько раз

файлов
список отслеживаемых файлов:

hg файлы [ОПЦИЯ] ... [ШАБЛОН] ...

Печатать файлы под управлением Mercurial в рабочем каталоге или указанной ревизии, чья
имена соответствуют заданным шаблонам (за исключением удаленных файлов).

Если шаблонов не задано, эта команда печатает имена всех файлов в
Mercurial control в рабочем каталоге.

Примеры:

· Перечислить все файлы в текущем каталоге:

hg файлы.

· Показывает размеры и флаги для текущей ревизии:

hg файлы -vr.

· Перечислить все файлы с именем README:

hg files -I "** / README"

· Перечислить все бинарные файлы:

hg файлы "set: binary ()"

· Найти файлы, содержащие регулярное выражение:

hg файлы "set: grep ('bob')"

· Искать содержимое отслеживаемого файла с помощью xargs и grep:

hg файлы -0 | xargs -0 grep foo

Увидеть hg помощь паттеранами и hg помощь наборы файлов для получения дополнительной информации об указании файла
узоры.

Возвращает 0, если соответствие найдено, в противном случае - 1.

Опции:

-р,--rev
искать в репозитории, как в REV

-0, --print0
заканчивать имена файлов с помощью NUL, для использования с xargs

-Я,--включают
включать имена, соответствующие заданным шаблонам

-ИКС,--исключать
исключить имена, соответствующие заданным шаблонам

-Т,--шаблон
отображение с шаблоном (ЭКСПЕРИМЕНТАЛЬНЫЙ)

-С, --subrepos
рекурсивно в субхранилища

[+] отмеченный вариант можно указывать несколько раз

забывать
забыть указанные файлы при следующей фиксации:

hg забудьте [ВАРИАНТ] ... ФАЙЛ ...

Отметьте указанные файлы, чтобы они больше не отслеживались после следующей фиксации.

Это удаляет файлы только из текущей ветки, а не из всей истории проекта, и
он не удаляет их из рабочего каталога.

Чтобы удалить файл из рабочего каталога, см. hg удаление.

Чтобы отменить забывание перед следующей фиксацией, см. hg .

Примеры:

· Забудьте недавно добавленные двоичные файлы:

hg забудьте "set: added () and binary ()"

· Забудьте файлы, которые будут исключены .hgignore:

hg забудьте "set: hgignore ()"

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

Опции:

-Я,--включают
включать имена, соответствующие заданным шаблонам

-ИКС,--исключать
исключить имена, соответствующие заданным шаблонам

[+] отмеченный вариант можно указывать несколько раз

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

hg graft [ОПЦИЯ] ... [-r REV] ... REV ...

Эта команда использует логику слияния Mercurial для копирования отдельных изменений из других веток.
без объединения ветвей в графике истории. Иногда это называют «резервным копированием» или
"сбор вишни". По умолчанию Graft копирует пользователя, дату и описание из источника.
ревизии.

Наборы изменений, которые являются предками текущей ревизии, которые уже были привиты, или
слияния будут пропущены.

Если указан --log, к сообщениям журнала будет добавлен комментарий в форме:

(привито из CHANGESETHASH)

Если указан --force, ревизии будут привиты, даже если они уже являются предками
или были привиты к месту назначения. Это полезно, если с тех пор исправления
был отклонен.

Если слияние трансплантата приводит к конфликту, процесс прививки прерывается, так что
текущее слияние можно разрешить вручную. Как только все конфликты разрешены, прививка
процесс можно продолжить с помощью опции -c / - continue.

Примечание. Параметр -c / - continue не применяет повторно предыдущие параметры, за исключением --force.

Примеры:

· Скопируйте одно изменение в стабильную ветку и отредактируйте ее описание:

стабильное обновление hg
hg graft - редактировать 9393

· Привить ряд наборов изменений за одним исключением, даты обновления:

hg graft -D "2085 :: 2093 а не 2091"

· Продолжить прививку после разрешения конфликтов:

hg прививка -c

· Показать источник привитой ревизии:

hg log --debug -r.

· Показать редакции, отсортированные по дате:

hg log -r 'сортировать (все (), дата)'

Увидеть hg помощь пересмотры и hg помощь ревизии для получения дополнительной информации об указании редакций.

Возвращает 0 при успешном завершении.

Опции:

-р,--rev
изменения к прививке

-с, --Продолжить
возобновить прерванную трансплантацию

-е, --редактировать
вызывать редактор для сообщений фиксации

--бревно добавить информацию о прививке в сообщение журнала

-ф, --сила
принудительный трансплантат

-Д, --текущая дата
записать текущую дату как дату фиксации

-У, --текущий пользователь
записать текущего пользователя как коммиттера

-д,--свидание
записать указанную дату как дату фиксации

-у,--Пользователь
записать указанного пользователя как коммиттера

-т,--орудие труда
указать инструмент слияния

-н, --прогон, репетиция
не выполнять действий, просто распечатать вывод

[+] отмеченный вариант можно указывать несколько раз

GREP
поиск шаблона в указанных файлах и ревизиях:

hg grep [ВАРИАНТ] ... ШАБЛОН [ФАЙЛ] ...

Искать в ревизиях файлов регулярное выражение.

Эта команда ведет себя иначе, чем grep в Unix. Он принимает только регулярные выражения Python / Perl. Это
выполняет поиск в истории репозитория, а не в рабочем каталоге. Всегда печатает ревизию
номер, в котором появляется совпадение.

По умолчанию grep печатает вывод только для первой ревизии файла, в которой он находит
совпадение. Чтобы заставить его печатать каждую ревизию, которая содержит изменение статуса соответствия ("-" для
совпадение, которое становится несовпадением, или "+" для несоответствия, которое становится совпадением), используйте
- все флаги.

Возвращает 0, если соответствие найдено, в противном случае - 1.

Опции:

-0, --print0
конечные поля с NUL

--все распечатать все соответствующие исправления

-a --текст
рассматривать все файлы как текст

-ф, --следить
следить за историей набора изменений или историей файлов по копированию и переименованию

-я, --игнорировать регистр
игнорировать регистр при сопоставлении

-л, - файлы с совпадениями
печатать только те имена файлов и ревизии, которые совпадают

-н, --номер строки
напечатать совпадающие номера строк

-р,--rev
изменены только файлы поиска в диапазоне ревизий

-у, --Пользователь
перечислить автора (вместе с -v)

-д, --свидание
перечислить дату (коротко с -q)

-Я,--включают
включать имена, соответствующие заданным шаблонам

-ИКС,--исключать
исключить имена, соответствующие заданным шаблонам

[+] отмеченный вариант можно указывать несколько раз

главы
показать главы веток:

hg Heads [-ct] [-r STARTREV] [REV] ...

Без аргументов показать все открытые ветки в репозитории. Руководители филиалов
ревизии, у которых нет потомков в той же ветке. Они там, где развитие
обычно имеет место и являются обычными целями для операций обновления и слияния.

Если заданы один или несколько REV, открываются только головки ответвлений на ответвлениях, связанных с
показаны указанные ревизии. Это означает, что вы можете использовать hg главы . видеть головы на
текущая проверенная ветка.

Если указано -c / - closed, также показывать заголовки веток, помеченные как закрытые (см. hg совершать
--close-ветка).

Если указано STARTREV, будут только те головы, которые являются потомками STARTREV.
отображается.

Если указан -t / - topo, именованная механика ветвления будет игнорироваться и будет учитываться только топологическая
будут показаны головы (наборы изменений без дочерних элементов).

Возвращает 0, если совпадающие головки найдены, и 1, если нет.

Опции:

-р,--rev
показывать только головы, которые являются потомками STARTREV

-т, --топо
показывать только топологические главы

-a --активный
показывать только активные ветки (УСТАРЕЛО)

-с, --закрыто
показать нормальные и закрытые головы веток

--стиль
отображение с использованием файла карты шаблона (УСТАРЕЛО)

-Т,--шаблон
отображение с шаблоном

помощь
показать справку по заданной теме или обзор справки:

hg help [-ecks] [ТЕМА]

Без аргументов распечатайте список команд с короткими справочными сообщениями.

Для данной темы, расширения или имени команды распечатайте справку по этой теме.

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

Опции:

-е, --расширение
показать только справку для расширений

-с, - команда
показывать только справку по командам

-к, --ключевое слово
показать темы, соответствующие ключевому слову

-с,--система
показать справку для конкретных платформ

[+] отмеченный вариант можно указывать несколько раз

определения
определить рабочий каталог или указанную ревизию:

hg identify [-nibtB] [-r REV] [ИСТОЧНИК]

Распечатайте сводку, определяющую состояние репозитория в REV, используя один или два родительских хеша
идентификаторы, за которыми следует "+", если в рабочем каталоге есть незафиксированные изменения,
имя ветки (если не по умолчанию), список тегов и список закладок.

Если REV не указан, распечатайте сводку текущего состояния репозитория.

Если указать путь к корню репозитория или пакету Mercurial, поиск будет выполняться на
этот репозиторий / бандл.

Примеры:

· Сгенерировать идентификатор сборки для рабочего каталога:

hg id --id> build-id.dat

· Найти ревизию, соответствующую тегу:

hg идентификатор -n -r 1.3

· Проверьте самую последнюю версию удаленного репозитория:

hg id -r подсказка http://selenic.com/hg/

Увидеть hg журнал для генерации дополнительной информации о конкретных ревизиях, включая полный хэш
идентификаторы.

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

Опции:

-р,--rev
идентифицировать указанную ревизию

-н, --число
показать местный номер редакции

-я, --я бы
показать глобальный идентификатор ревизии

-б, --ветвь
показать ветку

-т, - теги
показать теги

-Б, - закладки
показать закладки

-е,--шш
укажите команду ssh для использования

--remotecmd
укажите команду hg для запуска на удаленной стороне

--ненадежный
не проверять сертификат сервера (игнорируя конфигурацию web.cacerts)

псевдонимы: id

Импортировать
импортировать упорядоченный набор патчей:

hg import [ОПЦИЯ] ... ПАТЧ ...

Импортируйте список исправлений и зафиксируйте их по отдельности (если не указан параметр --no-commit).

Чтобы прочитать патч со стандартного ввода, используйте «-» в качестве имени патча. Если указан URL-адрес,
патч будет скачан оттуда.

Импорт сначала применяет изменения к рабочему каталогу (если не указан --bypass),
импорт будет прерван, если есть незавершенные изменения.

Используйте --bypass, чтобы применять и фиксировать исправления непосредственно в репозитории, не затрагивая
рабочий каталог. Без --exact патчи будут применены поверх рабочего
родительская ревизия каталога.

Вы можете импортировать патч прямо из почтового сообщения. Даже патчи как вложения работают (чтобы
используйте часть тела, она должна иметь тип text / plain или text / x-patch). Заголовки "От" и "Тема"
сообщения электронной почты используются как коммиттер по умолчанию и сообщение фиксации. Весь текст / обычное тело
части перед первым различием добавляются в сообщение фиксации.

Если импортированный патч был сгенерирован hg экспорт, пользователь и описание из исправления переопределения
значения из заголовков и тела сообщения. Значения, указанные в командной строке с -m / - message и
-u / - пользователь переопределяет их.

Если указан --exact, импорт установит рабочий каталог как родительский для каждого патча.
перед его применением, и будет прервано, если результирующий набор изменений будет иметь другой идентификатор, чем
один записан в патче. Это может произойти из-за проблем с набором символов или других
недостатки в формате текстового патча.

Используйте --partial, чтобы гарантировать, что набор изменений будет создан из патча, даже если некоторые блоки не работают.
применять. Куски, которые не могут быть применены, будут записаны в .rej файл. Конфликты
затем можно решить вручную, прежде чем hg совершать --исправлять запускается для обновления созданного
набор изменений. Этот флаг существует, чтобы люди могли импортировать исправления, которые частично применяются без
потеря связанных метаданных (автор, дата, описание, ...).

Замечание Если никакие фрагменты не применяются чисто hg Импортировать - частичный создаст пустую ревизию,
импорт только метаданных патча.

С подобием -s / -, hg попытается обнаружить переименования и копии в патче в
так же, как hg добавитьудалить.

Можно использовать внешние программы патчей для выполнения патча, установив ui.патч
вариант конфигурации. Для внутреннего инструмента по умолчанию фазз также можно настроить с помощью
патч.fuzz. Посмотреть hg помощь конфиг для получения дополнительной информации о файлах конфигурации и о том, как
используйте эти параметры.

Увидеть hg помощь даты для списка форматов, допустимых для -d / - date.

Примеры:

· Импортировать традиционный патч с веб-сайта и обнаружить переименования:

hg импорт -s 80 http://example.com/bugfix.patch

· Импортировать ревизию с сервера hgweb:

хг импорт http://www.selenic.com/hg/rev/5ca8c111e9aa

· Импортировать все патчи в mbox в стиле Unix:

hg импортировать входящие патчи.mbox

· Попытка точно восстановить экспортированную ревизию (не всегда возможно):

hg import --exact предложение-fix.patch

· Используйте внешний инструмент, чтобы применить патч, который слишком нечеткий для внутреннего инструмента по умолчанию.

hg import --config ui.patch = "patch --merge" fuzzy.patch

· Изменить фаззинг по умолчанию с 2 на менее строгий 7

hg import --config ui.fuzz = 7 fuzz.patch

Возвращает 0 в случае успеха, 1 в случае частичного успеха (см. --Partial).

Опции:

-п,--полоска
вариант полосы каталога для патча. Это имеет то же значение, что и соответствующий
опция патча (по умолчанию: 1)

-б,--база
базовый путь (УСТАРЕВШИЙ)

-е, --редактировать
вызывать редактор для сообщений фиксации

-ф, --сила
пропустить проверку на наличие незавершенных изменений (УСТАРЕЛО)

--no-commit
не фиксируйте, просто обновите рабочий каталог

- обойти
применить патч, не касаясь рабочего каталога

- частичный
совершить, даже если некоторые части терпят неудачу

--точный
применить патч к узлам, из которых он был сгенерирован

--приставка
применить патч к подкаталогу

--импорт-филиал
использовать любую информацию о ветке в патче (подразумевается --exact)

-м,--сообщение
использовать текст как сообщение фиксации

-л,--лог-файл
прочитать сообщение фиксации из файла

-д,--свидание
записать указанную дату как дату фиксации

-у,--Пользователь
записать указанного пользователя как коммиттера

-с,- сходство
угадать переименованные файлы по сходству (0 <= s <= 100)

псевдонимы: patch

входящий
показать новые ревизии, найденные в источнике:

hg incoming [-p] [-n] [-M] [-f] [-r REV] ... [--bundle FILENAME] [ИСТОЧНИК]

Показать новые ревизии, найденные в указанном пути / URL-адресе или в месте извлечения по умолчанию. Эти
- это наборы изменений, которые были бы извлечены, если бы вытянули в то время, когда вы выпустили этот
команда.

См. Информацию о допустимом формате исходного кода в pull.

С -B / - закладки, результат сравнения закладок между локальными и удаленными
репозиториев отображается. При использовании -v / - verbose статус также отображается для каждой закладки.
как показано ниже:

BM1 01234567890a добавлен
BM2 1234567890ab расширенный
BM3 234567890abc разошлись
BM4 34567890abcd изменено

Действие, выполняемое локально при извлечении, зависит от статуса каждой закладки:

добавленный

тянуть создаст это

продвинутый

pull обновит его

расходились

pull создаст расходящуюся закладку

менялась

результат зависит от удаленных наборов изменений

С точки зрения поведения при вытягивании закладка существует только в удаленном
репозиторий рассматриваются как добавленный, даже если он фактически удален локально.

Для удаленного репозитория использование --bundle позволяет избежать загрузки ревизий дважды, если
за входящим следует тяга.

Примеры:

· Отображать входящие изменения с патчами и полным описанием:

входящий hg -vp

· Отображать входящие изменения, исключая слияния, сохранять бандл:

hg в -vpM --bundle incoming.hg
hg тянуть входящий.hg

· Кратко перечислить изменения внутри пакета:

hg в файле changes.hg -T "{desc | firstline} \ n"

Возвращает 0, если есть входящие изменения, 1 в противном случае.

Опции:

-ф, --сила
запускать, даже если удаленный репозиторий не связан

-н, --Новички вперед
показывать сначала новейшую запись

--пучок
файл для хранения пакетов в

-р,--rev
удаленный набор изменений, предназначенный для добавления

-Б, - закладки
сравнить закладки

-б,--ветвь
конкретная ветка, которую вы хотите вытащить

-п, --пластырь
показать патч

-грамм, --git
использовать расширенный формат сравнения git

-л,- предел
ограничить количество отображаемых изменений

-М, --не-слияния
не показывать слияния

--stat вывести сводку изменений в стиле diffstat

-ГРАММ, --граф
показать ревизию DAG

--стиль
отображение с использованием файла карты шаблона (УСТАРЕЛО)

-Т,--шаблон
отображение с шаблоном

-е,--шш
укажите команду ssh для использования

--remotecmd
укажите команду hg для запуска на удаленной стороне

--ненадежный
не проверять сертификат сервера (игнорируя конфигурацию web.cacerts)

-С, --subrepos
рекурсивно в субхранилища

[+] отмеченный вариант можно указывать несколько раз

псевдонимы: в

инициализации
создать новый репозиторий в указанном каталоге:

hg init [-e CMD] [-remotecmd CMD] [DEST]

Инициализировать новый репозиторий в указанном каталоге. Если данный каталог не существует,
он будет создан.

Если каталог не указан, используется текущий каталог.

Можно указать ssh: // URL как место назначения. Видеть hg помощь URL-адреса для большего
Информация.

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

Опции:

-е,--шш
укажите команду ssh для использования

--remotecmd
укажите команду hg для запуска на удаленной стороне

--ненадежный
не проверять сертификат сервера (игнорируя конфигурацию web.cacerts)

разместить
найти файлы, соответствующие определенным шаблонам (УСТАРЕЛО):

hg найти [ВАРИАНТ] ... [ШАБЛОН] ...

Распечатать файлы под управлением Mercurial в рабочем каталоге, имена которых соответствуют заданному
узоры.

По умолчанию эта команда ищет все каталоги в рабочем каталоге. Искать просто
текущий каталог и его подкаталоги используйте "--include.".

Если шаблонов не задано, эта команда печатает имена всех файлов в
Mercurial control в рабочем каталоге.

Если вы хотите передать вывод этой команды в команду «xargs», используйте параметр -0.
и этой команде, и "xargs". Это позволит избежать проблемы, связанной с обработкой "xargs" одиночных
имена файлов, содержащие пробелы, как несколько имен файлов.

Увидеть hg помощь файлов для более универсальной команды.

Возвращает 0, если соответствие найдено, в противном случае - 1.

Опции:

-р,--rev
искать в репозитории, как в REV

-0, --print0
заканчивать имена файлов с помощью NUL, для использования с xargs

-ф, --полный путь
распечатать полные пути из корня файловой системы

-Я,--включают
включать имена, соответствующие заданным шаблонам

-ИКС,--исключать
исключить имена, соответствующие заданным шаблонам

[+] отмеченный вариант можно указывать несколько раз

журнал
показать историю изменений всего репозитория или файлов:

hg log [ОПЦИЯ] ... [ФАЙЛ]

Распечатать историю изменений указанных файлов или всего проекта.

Если диапазон ревизий не указан, по умолчанию используется подсказка: 0 если не задано --follow, в котором
если родительский рабочий каталог используется в качестве начальной ревизии.

История файлов отображается без последующего переименования или копирования файлов. Используйте -f / - следовать
с именем файла для отслеживания истории переименований и копий. - следовать без имени файла
покажет только предков или потомков начальной ревизии.

По умолчанию эта команда печатает номер версии и идентификатор набора изменений, теги, нетривиальные
родители, пользователь, дата и время, а также сводка для каждой фиксации. Когда параметр -v / - verbose
отображается список измененных файлов и сообщение о полной фиксации.

С параметром --graph изменения отображаются в виде DAG-кода ASCII art с самым последним набором изменений в
вершина. 'o' - набор изменений, '@' - родительский рабочий каталог, 'x' устарел, '+'
представляет собой вилку, в которой набор изменений из строк ниже является родительским для слияния 'o' на
та же линия.

Внимание hg журнал --пластырь может генерировать неожиданный вывод diff для наборов изменений слияния, так как это будет
только сравните набор изменений слияния с его первым родителем. Также только файлы
отличные от ОБОИХ родителей появятся в файлах :.

Примечание. Из соображений производительности hg журнал ФАЙЛОВ может опускать повторяющиеся изменения, внесенные в ветки
и не будет отображать удаления или изменения режима. Чтобы увидеть все такие изменения, используйте
- снят переключатель.

Некоторые примеры:

· Ревизии с полными описаниями и списками файлов:

хг журнал -v

· Ревизии, наследственные рабочему каталогу:

хг журнал -f

· Последние 10 коммитов в текущей ветке:

hg log -l 10 -b.

· Ревизии, показывающие все модификации файла, включая удаления:

hg log --удаленный файл.c

· Все ревизии, которые касаются каталога, с различиями, за исключением слияний:

hg log -Mp lib /

· Все номера редакций, соответствующие ключевому слову:

hg log -k bug --template "{rev} \ n"

· Полный хэш-идентификатор родительского рабочего каталога:

hg log -r. --template "{узел} \ n"

· Список доступных шаблонов журналов:

hg log -T список

· Проверить, включен ли данный набор изменений в выпуск с тегами:

hg log -r "a21ccf и предок (1.9)"

· Найти все ревизии какого-либо пользователя в диапазоне дат:

hg log -k alice -d "с мая 2008 г. по июль 2008 г."

· Сводка всех ревизий после последнего тега:

hg log -r "last (tagged ()) ::" --template "{desc | firstline} \ n"

Увидеть hg помощь даты для списка форматов, допустимых для -d / - date.

Увидеть hg помощь пересмотры и hg помощь ревизии подробнее об указании и заказе
изменения.

Увидеть hg помощь шаблоны для получения дополнительных сведений о предварительно упакованных стилях и указании настраиваемых шаблонов.

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

Опции:

-ф, --следить
следить за историей набора изменений или историей файлов по копированию и переименованию

- сначала подписывайтесь
следовать только за первым родителем наборов изменений слияния (УСТАРЕЛО)

-д,--свидание
показать ревизии, соответствующие спецификации даты

-С, - копии
показать скопированные файлы

-к,--ключевое слово
выполнять поиск заданного текста без учета регистра

-р,--rev
показать указанную ревизию или ревизию

--удаленный
включить ревизии, из которых были удалены файлы

-м, --only-слияния
показывать только слияния (УСТАРЕЛО)

-у,--Пользователь
изменения, внесенные пользователем

--только-ветка
показывать только наборы изменений в указанной именованной ветке (УСТАРЕЛО)

-б,--ветвь
показать наборы изменений в указанной именованной ветке

-П,--чернослив
не отображать ревизию или ее предков

-п, --пластырь
показать патч

-грамм, --git
использовать расширенный формат сравнения git

-л,- предел
ограничить количество отображаемых изменений

-М, --не-слияния
не показывать слияния

--stat вывести сводку изменений в стиле diffstat

-ГРАММ, --граф
показать ревизию DAG

--стиль
отображение с использованием файла карты шаблона (УСТАРЕЛО)

-Т,--шаблон
отображение с шаблоном

-Я,--включают
включать имена, соответствующие заданным шаблонам

-ИКС,--исключать
исключить имена, соответствующие заданным шаблонам

[+] отмеченный вариант можно указывать несколько раз

псевдонимы: история

проявлять
вывести текущую или заданную версию манифеста проекта:

hg манифест [-r REV]

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

С -v, распечатать права доступа к файлам, символические ссылки и исполняемые биты. С --debug распечатать файл
ревизионные хэши.

Если указан параметр --all, печатается список всех файлов всех ревизий. Этот
включает удаленные и переименованные файлы.

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

Опции:

-р,--rev
редакция для отображения

--все список файлов из всех ревизий

-Т,--шаблон
отображение с шаблоном (ЭКСПЕРИМЕНТАЛЬНЫЙ)

слияние
объединить другую ревизию в рабочий каталог:

hg слияние [-P] [[-r] REV]

Текущий рабочий каталог обновляется со всеми изменениями, внесенными в запрошенную ревизию.
с момента последней общей ревизии предшественника.

Файлы, которые изменились между одним из родителей, помечаются как измененные для следующей фиксации и
фиксация должна быть выполнена до того, как будут разрешены дальнейшие обновления репозитория. В
следующий коммит будет иметь двух родителей.

--орудие труда может использоваться для указания инструмента слияния, используемого для слияния файлов. Это отменяет
Переменная среды HGMERGE и ваши файлы конфигурации. Видеть hg помощь инструменты слияния для
настройки.

Если ревизия не указана, родительский рабочий каталог является головной ревизией, а
текущая ветка содержит ровно одну другую голову, другая голова объединяется по умолчанию.
В противном случае необходимо предоставить явную ревизию для слияния.

Увидеть hg помощь решение для получения информации о разрешении конфликтов файлов.

Чтобы отменить незафиксированное слияние, используйте hg обновление --чистый . который проверит чистую копию
исходный родительский элемент слияния, теряющий все изменения.

Возвращает 0 в случае успеха, 1, если есть неразрешенные файлы.

Опции:

-ф, --сила
принудительное слияние, включая невыполненные изменения (УСТАРЕЛО)

-р,--rev
редакция для слияния

-П, --предварительный просмотр
просмотреть исправления для слияния (слияние не выполняется)

-т,--орудие труда
указать инструмент слияния

исходящий
показать наборы изменений, не найденные в месте назначения:

hg исходящий [-M] [-p] [-n] [-f] [-r REV] ... [DEST]

Показать наборы изменений, не найденные в указанном целевом репозитории или в push-режиме по умолчанию
место нахождения. Это наборы изменений, которые будут отправлены, если будет запрошено нажатие.

Подробную информацию о допустимых форматах назначения см. В pull.

С -B / - закладки, результат сравнения закладок между локальными и удаленными
репозиториев отображается. При использовании -v / - verbose статус также отображается для каждой закладки.
как показано ниже:

BM1 01234567890a добавлен
BM2 удален
BM3 234567890abc продвинутый
BM4 34567890abcd разошлись
BM5 4567890abcde изменено

Действия, выполняемые при нажатии, зависят от статуса каждой закладки:

добавленный

толкать с -B создам это

удаленный

толкать с -B удалит это

продвинутый

push обновит его

расходились

толкать с -B обновлю это

менялась

толкать с -B обновлю это

С точки зрения поведения нажатия закладки, существующие только в удаленном
репозиторий рассматриваются как удаленный, даже если он на самом деле добавлен удаленно.

Возвращает 0, если есть исходящие изменения, 1 в противном случае.

Опции:

-ф, --сила
бегать, даже если пункт назначения не связан

-р,--rev
набор изменений, предназначенный для включения в пункт назначения

-н, --Новички вперед
показывать сначала новейшую запись

-Б, - закладки
сравнить закладки

-б,--ветвь
конкретная ветка, которую вы хотите продвинуть

-п, --пластырь
показать патч

-грамм, --git
использовать расширенный формат сравнения git

-л,- предел
ограничить количество отображаемых изменений

-М, --не-слияния
не показывать слияния

--stat вывести сводку изменений в стиле diffstat

-ГРАММ, --граф
показать ревизию DAG

--стиль
отображение с использованием файла карты шаблона (УСТАРЕЛО)

-Т,--шаблон
отображение с шаблоном

-е,--шш
укажите команду ssh для использования

--remotecmd
укажите команду hg для запуска на удаленной стороне

--ненадежный
не проверять сертификат сервера (игнорируя конфигурацию web.cacerts)

-С, --subrepos
рекурсивно в субхранилища

[+] отмеченный вариант можно указывать несколько раз

псевдонимы: вне

родители
показать родителей рабочего каталога или ревизии (УСТАРЕЛО):

hg родители [-r REV] [ФАЙЛ]

Распечатайте родительские ревизии рабочего каталога. Если ревизия задана с помощью -r / - rev,
родитель этой ревизии будет напечатан. Если указан аргумент файла, ревизия в
который файл был изменен последним (перед ревизией рабочего каталога или аргументом для
--rev, если указано) печатается.

Эта команда эквивалентна:

hg log -r "p1 () + p2 ()" или
hg log -r "p1 (REV) + p2 (REV)" или
hg log -r "max (:: p1 () и файл (ФАЙЛ)) + max (:: p2 () и файл (ФАЙЛ))" или
hg log -r "max (:: p1 (REV) и файл (FILE)) + max (:: p2 (REV) and file (FILE))"

Увидеть hg резюме и hg помощь ревизии для получения сопутствующей информации.

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

Опции:

-р,--rev
показать родителей указанной ревизии

--стиль
отображение с использованием файла карты шаблона (УСТАРЕЛО)

-Т,--шаблон
отображение с шаблоном

пути
показать псевдонимы для удаленных репозиториев:

hg paths [ИМЯ]

Показать определение символьного имени пути ИМЯ. Если имя не указано, показать определение всех
доступные имена.

Опция -q / - quiet подавляет весь вывод при поиске NAME и показывает только путь
имена при перечислении всех определений.

Имена путей определены в разделе [paths] вашего файла конфигурации и в
/ и т. д. / меркуриал / hgrc. Если запустить внутри репозитория, .hg / hgrc тоже используется.

Имена путей по умолчанию и по умолчанию имеют особое значение. При выполнении толчка или
операции pull, они используются в качестве резервных, если местоположение не указано в
командная строка. Когда по умолчанию установлен, он будет использоваться для push и по умолчанию будет использовано
для тяги; в противном случае по умолчанию используется как резерв для обоих. При клонировании репозитория
источник клона записывается как по умолчанию in .hg / hgrc.

Внимание по умолчанию и по умолчанию применять ко всем входящим (например, hg входящий) и исходящий
(например hg исходящий, hg e-mail и hg пакет) операции.

Увидеть hg помощь URL-адреса чтобы получить больше информации.

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

Опции:

-Т,--шаблон
отображение с шаблоном (ЭКСПЕРИМЕНТАЛЬНЫЙ)

фаза
установить или показать название текущей фазы:

фаза hg [-p | -d | -s] [-f] [-r] [REV ...]

Без аргументов показать название фазы текущей ревизии (ов).

С помощью одного из -p / - public, -d / - draft или -s / - secret измените значение фазы
указанные ревизии.

Если не указано -f / - force, hg фаза не будет перемещать ревизию с более низкой фазы на
высшая фаза. Фазы упорядочены следующим образом:

общественный <черновик <секрет

Возвращает 0 в случае успеха, 1, если некоторые фазы не могут быть изменены.

(Для получения дополнительной информации о концепции фаз см. hg помощь фаз.)

Опции:

-п, - общественный
установить общедоступную фазу набора изменений

-д, --проект
установить фазу набора изменений на черновик

-с, --секрет
установить фазу набора изменений в секрет

-ф, --сила
разрешить переместить границу назад

-р,--rev
целевая ревизия

[+] отмеченный вариант можно указывать несколько раз

тянуть
извлекать изменения из указанного источника:

hg pull [-u] [-f] [-r REV] ... [-e CMD] [--remotecmd CMD] [ИСТОЧНИК]

Перетащить изменения из удаленного репозитория в локальный.

Это находит все изменения из репозитория по указанному пути или URL-адресу и добавляет их в
локальный репозиторий (текущий, если не указано -R). По умолчанию это не
обновить копию проекта в рабочем каталоге.

Используйте hg входящий если вы хотите увидеть, что было бы добавлено в момент, когда вы
выдал эту команду. Если вы затем решите добавить эти изменения в репозиторий, вам следует
использование hg тянуть -r X в котором X это последний набор изменений в списке hg входящий.

Если SOURCE не указан, будет использоваться путь по умолчанию. Видеть hg помощь URL-адреса для большего
Информация.

Возвращает 0 в случае успеха, 1, если обновление содержит неразрешенные файлы.

Опции:

-у, --Обновить
обновить до новой главы ветки, если были извлечены наборы изменений

-ф, --сила
запускать, даже если удаленный репозиторий не связан

-р,--rev
удаленный набор изменений, предназначенный для добавления

-Б,- закладка
закладка тянуть

-б,--ветвь
конкретная ветка, которую вы хотите вытащить

-е,--шш
укажите команду ssh для использования

--remotecmd
укажите команду hg для запуска на удаленной стороне

--ненадежный
не проверять сертификат сервера (игнорируя конфигурацию web.cacerts)

[+] отмеченный вариант можно указывать несколько раз

протолкнуть.
отправить изменения в указанное место назначения:

hg push [-f] [-r REV] ... [-e CMD] [--remotecmd CMD] [DEST]

Отправьте ревизии из локального репозитория в указанное место назначения.

Эта операция симметрична вытягиванию: она идентична вытягиванию в месте назначения.
репозиторий из текущего.

По умолчанию push не разрешает создание новых голов в месте назначения, поскольку несколько
Головы сделают неясным, какую головку использовать. В этой ситуации рекомендуется
потяните и слейте перед нажатием.

Используйте --new-branch, если вы хотите разрешить push для создания новой именованной ветки, которая не
присутствует в пункте назначения. Это позволяет вам создавать только новую ветку без принуждения
другие изменения.

Примечание. Следует проявлять особую осторожность с параметром -f / - force, который будет подталкивать все новые
головы на всех ветвях, действие, которое почти всегда вызывает путаницу у
коллаборационисты.

Если используется -r / - rev, указанная ревизия и все ее предки будут помещены в
удаленный репозиторий.

Если используется -B / - закладка, указанная ревизия, отмеченная закладкой, ее предки и
закладка будет перенесена в удаленный репозиторий.

См. hg помощь URL-адреса для важных деталей о ssh: // URL-адреса. Если DESTINATION
опущено, будет использоваться путь по умолчанию.

Возвращает 0, если отправка прошла успешно, и 1, если ничего не отправлено.

Опции:

-ф, --сила
принудительный толчок

-р,--rev
набор изменений, предназначенный для включения в пункт назначения

-Б,- закладка
закладка для нажатия

-б,--ветвь
конкретная ветка, которую вы хотите продвинуть

--новая ветка
разрешить продвижение новой ветки

-е,--шш
укажите команду ssh для использования

--remotecmd
укажите команду hg для запуска на удаленной стороне

--ненадежный
не проверять сертификат сервера (игнорируя конфигурацию web.cacerts)

[+] отмеченный вариант можно указывать несколько раз

оправляться
откатить прерванную транзакцию:

hg выздороветь

Восстановление после прерванной фиксации или извлечения.

Эта команда пытается исправить состояние репозитория после прерванной операции. Должно
только когда Mercurial предлагает это.

Возвращает 0 в случае успеха, 1, если ничего восстанавливать или проверять не удается.

удаление
удалить указанные файлы при следующей фиксации:

hg remove [ОПЦИЯ] ... ФАЙЛ ...

Запланируйте удаление указанных файлов из текущей ветки.

Эта команда планирует удаление файлов при следующей фиксации. Чтобы отменить удаление
до этого см. hg возвращаться. Чтобы отменить добавленные файлы, см. hg забывать.

-A / - after может использоваться для удаления только файлов, которые уже были удалены, -f / - force может
использоваться для принудительного удаления, а -Af может использоваться для удаления файлов из следующей ревизии
не удаляя их из рабочего каталога.

В следующей таблице подробно описано поведение remove для различных состояний файла (столбцов) и
комбинации вариантов (строки). Состояния файла: Добавлен [A], Чистый [C], Изменен [M] и
Отсутствует [!] (Как сообщает hg статус). Действия: Предупредить, Удалить (из ветки) и
Удалить (с диска):

┌─────────────┬────────┬───
│opt / state │ A │ C │ M │! │
├─────────────┼────────┼───
│нет │ W │ RD │ W │ R │
├─────────────┼────────┼───
│-ф │ R │ RD │ RD │ R │
├─────────────┼────────┼───
│-А │ Ж │ Ж │ Ж │ Р │
├─────────────┼────────┼───
│-Аф │ R │ R │ R │ R │
└─────────────┴────────┴───

Внимание hg удаление никогда не удаляет файлы в состоянии Добавлен [A] из рабочего каталога, не
даже если --сила указан.

Возвращает 0 в случае успеха, 1 в случае обнаружения каких-либо предупреждений.

Опции:

-А, --после
удаление записи для отсутствующих файлов

-ф, --сила
удалить (и удалить) файл, даже если он был добавлен или изменен

-С, --subrepos
рекурсивно в субхранилища

-Я,--включают
включать имена, соответствующие заданным шаблонам

-ИКС,--исключать
исключить имена, соответствующие заданным шаблонам

[+] отмеченный вариант можно указывать несколько раз

псевдонимы: rm

переименовать
переименовывать файлы; эквивалент копирования + удаления:

hg переименовать [OPTION] ... SOURCE ... DEST

Пометить dest как копии источников; отметить источники для удаления. Если dest - это каталог, копирует
помещаются в этот каталог. Если dest - файл, может быть только один источник.

По умолчанию эта команда копирует содержимое файлов в том виде, в котором они существуют в рабочей среде.
каталог. Если вызывается с -A / - после, операция записывается, но копирование не производится.
выполнено.

Эта команда вступит в силу при следующей фиксации. Чтобы отменить переименование до этого, см. hg возвращаться.

Возвращает 0 при успехе, 1 при обнаружении ошибок.

Опции:

-А, --после
записать переименование, которое уже произошло

-ф, --сила
принудительно скопировать существующий управляемый файл

-Я,--включают
включать имена, соответствующие заданным шаблонам

-ИКС,--исключать
исключить имена, соответствующие заданным шаблонам

-н, --прогон, репетиция
не выполнять действий, просто распечатать вывод

[+] отмеченный вариант можно указывать несколько раз

псевдонимы: move mv

решение
повторить слияние или установить / просмотреть статус слияния файлов:

hg resolve [ОПЦИЯ] ... [ФАЙЛ] ...

Слияние с неразрешенными конфликтами часто является результатом неинтерактивного слияния с использованием
внутренний: слияние параметр конфигурации или инструмент слияния командной строки, например разница3. Решимость
команда используется для управления файлами, участвующими в слиянии, после hg слияние был запущен, и
до hg совершать запущен (т.е. рабочий каталог должен иметь двух родителей). Видеть hg помощь
инструменты слияния для получения информации о настройке инструментов слияния.

Команду разрешения можно использовать следующими способами:

· hg решение [--инструмент ИНСТРУМЕНТ] ФАЙЛ...: попытаться повторно объединить указанные файлы, отбрасывая
любые предыдущие попытки слияния. Повторное объединение не выполняется для файлов, уже отмеченных как
решено. Использовать --all / -a для выбора всех неразрешенных файлов. --орудие труда можно использовать для указания
инструмент слияния, используемый для данных файлов. Он переопределяет переменную среды HGMERGE и
ваши файлы конфигурации. Предыдущее содержимое файла сохраняется с .ориг суффикс.

· hg решение -m [ФАЙЛ]: пометить файл как разрешенный (например, после того, как вручную
исправил файлы). По умолчанию помечаются все неразрешенные файлы.

· hg решение -u [ФАЙЛ]...: пометить файл как неразрешенный. По умолчанию отмечены все решенные
файлы.

· hg решение -l: список файлов, у которых были или есть конфликты. В распечатанном списке U =
нерешенные и R = решено.

Примечание. Mercurial не позволит вам фиксировать файлы с неразрешенными конфликтами слияния. Ты должен
использование hg решение -m ... прежде, чем вы сможете выполнить фиксацию после конфликтующего слияния.

Возвращает 0 в случае успеха, 1 в случае неудачной попытки разрешения каких-либо файлов.

Опции:

-a --все
выберите все неразрешенные файлы

-л, --список
список состояний файлов, нуждающихся в слиянии

-м, --отметка
пометить файлы как разрешенные

-у, - снять отметку
отмечать файлы как неразрешенные

-н, --нет положения
скрыть префикс статуса

-т,--орудие труда
указать инструмент слияния

-Я,--включают
включать имена, соответствующие заданным шаблонам

-ИКС,--исключать
исключить имена, соответствующие заданным шаблонам

-Т,--шаблон
отображение с шаблоном (ЭКСПЕРИМЕНТАЛЬНЫЙ)

[+] отмеченный вариант можно указывать несколько раз

возвращаться
восстановить файлы до состояния оформления заказа:

hg revert [ОПЦИЯ] ... [-r REV] [ИМЯ] ...

Примечание. Чтобы проверить более ранние версии, вы должны использовать hg обновление REV. Чтобы отменить
незафиксированное слияние (и потеря ваших изменений), используйте hg обновление --чистый ..

Не указав ревизию, верните указанные файлы или каталоги к их содержимому.
в родительском рабочем каталоге. Это восстанавливает содержимое файлов в
неизмененное состояние и незапланированное добавление, удаление, копирование и переименование. Если рабочий
каталог имеет двух родителей, вы должны явно указать ревизию.

Используя параметры -r / - rev или -d / - date, верните указанные файлы или каталоги в их
состояния в конкретной редакции. Потому что откат не меняет рабочий каталог
родители, это приведет к тому, что эти файлы будут казаться измененными. Это может быть полезно, чтобы "отступить"
некоторые или все более ранние изменения. Видеть hg обратно для связанного метода.

Перед откатом измененные файлы сохраняются с суффиксом .orig. Чтобы отключить эти резервные копии,
используйте --no-backup.

Увидеть hg помощь даты для списка форматов, допустимых для -d / - date.

Увидеть hg помощь обратно для способа обратить вспять эффект более раннего набора изменений.

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

Опции:

-a --все
отменить все изменения, если не указаны аргументы

-д,--свидание
дата соответствия самой последней ревизии

-р,--rev
вернуться к указанной ревизии

-С, --без резервного копирования
не сохранять резервные копии файлов

-я, - интерактивный
интерактивно выбрать изменения (ЭКСПЕРИМЕНТАЛЬНАЯ ЧАСТЬ)

-Я,--включают
включать имена, соответствующие заданным шаблонам

-ИКС,--исключать
исключить имена, соответствующие заданным шаблонам

-н, --прогон, репетиция
не выполнять действий, просто распечатать вывод

[+] отмеченный вариант можно указывать несколько раз

отмена
откатить последнюю транзакцию (ОПАСНО) (УСТАРЕЛО):

откат hg

Пожалуйста, используйте hg совершать --исправлять вместо отката для исправления ошибок в последней фиксации.

Эту команду следует использовать с осторожностью. Есть только один уровень отката, и есть
нет возможности отменить откат. Это также восстановит состояние во время последнего
транзакция, теряющая любые изменения dirstate с того времени. Эта команда не изменяет
рабочий каталог.

Транзакции используются для инкапсуляции эффектов всех команд, которые создают новые
ревизии или распространить существующие ревизии в репозиторий.

Например, следующие команды являются транзакционными, и их эффекты можно свернуть.
обратно:

· совершить

· Импортировать

· тянуть

· Push (с этим репозиторием в качестве места назначения)

· Разделить

Чтобы избежать необратимой потери данных, откат откажется от отката транзакции фиксации, если она
не проверено. Используйте --force, чтобы переопределить эту защиту.

Эта команда не предназначена для использования в публичных репозиториях. Как только изменения станут видны для
других пользователей, откат транзакции локально неэффективен (кто-то другой может
уже перетянули изменения). Кроме того, возможна гонка с читателями
репозиторий; например, незавершенное извлечение из репозитория может завершиться ошибкой, если откат
выполнено.

Возвращает 0 в случае успеха, 1, если данные отката недоступны.

Опции:

-н, --прогон, репетиция
не выполнять действий, просто распечатать вывод

-ф, --сила
игнорировать меры безопасности

корень
распечатать корень (верх) текущего рабочего каталога:

корень hg

Распечатайте корневой каталог текущего репозитория.

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

служить
запустить автономный веб-сервер:

hg serve [ВАРИАНТ] ...

Запустите браузер локального репозитория HTTP и опустите сервер. Вы можете использовать это для специального обмена
и просмотр репозиториев. Рекомендуется использовать реальный веб-сервер для обслуживания
хранилище на более длительные периоды времени.

Обратите внимание, что на сервере не реализован контроль доступа. Это означает, что по
по умолчанию любой может читать с сервера и никто не может писать на него по умолчанию. Установить
web.allow_push вариант * чтобы все могли нажимать на сервер. Вы должны использовать настоящий
веб-сервер, если вам нужно аутентифицировать пользователей.

По умолчанию сервер регистрирует доступ к stdout и ошибки к stderr. Использовать
-A / - журнал доступа и -E / - параметры журнала ошибок для входа в файлы.

Чтобы сервер выбрал свободный номер порта для прослушивания, укажите номер порта 0; в
В этом случае сервер напечатает номер порта, который он использует.

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

Опции:

-А,--accesslog
имя файла журнала доступа для записи

-д, - демон
запустить сервер в фоновом режиме

--daemon-pipefds
используется внутри режима демона

-А ТАКЖЕ,--журнал ошибок
имя файла журнала ошибок для записи

-п,--порт
порт для прослушивания (по умолчанию: 8000)

-a--адрес
адрес для прослушивания (по умолчанию: все интерфейсы)

--приставка
префиксный путь для обслуживания (по умолчанию: корень сервера)

-н,--имя
имя для отображения на веб-страницах (по умолчанию: рабочий каталог)

--веб-конф
имя файла конфигурации hgweb (см. "hg help hgweb")

--webdir-conf
имя конфигурационного файла hgweb (УСТАРЕЛО)

--pid-файл
имя файла для записи идентификатора процесса

--stdio
для удаленных клиентов

--cmdсервер
для удаленных клиентов

-т,--шаблоны
веб-шаблоны для использования

--стиль
стиль шаблона для использования

-6, --ipv6
использовать IPv6 в дополнение к IPv4

- сертификат
Файл сертификата SSL

статус
показать измененные файлы в рабочем каталоге:

hg status [ОПЦИЯ] ... [ФАЙЛ] ...

Показать статус файлов в репозитории. Если указаны имена, будут
показано. Чистые или игнорируемые файлы или исходные файлы для копирования / перемещения не являются
указаны, если не указаны -c / - clean, -i / - ignored, -C / - copy или -A / - все. Если только варианты
описаны с помощью «показать только ...», используются параметры -mardu.

Опция -q / - quiet скрывает неотслеживаемые (неизвестные и игнорируемые) файлы, если явно не запрошено
с -u / - неизвестно или -i / - игнорируется.

Внимание hg статус может показаться, что не согласен с различием, если разрешения были изменены или слияние
произошло. Стандартный формат различий не сообщает об изменениях разрешений и различиях.
сообщает только об изменениях относительно одного родителя слияния.

Если дана одна ревизия, она используется как базовая. Если даны две ревизии,
показаны различия между ними. Опцию --change также можно использовать как ярлык
для вывода списка измененных файлов ревизии от ее первого родительского элемента.

Коды, используемые для отображения статуса файлов:

M = изменено
A = добавлено
R = удалено
C = чистый
! = отсутствует (удалено командой, отличной от hg, но все еще отслеживается)
? = не отслеживается
I = игнорируется
= происхождение предыдущего файла (с --copies)

Примеры:

· Показать изменения в рабочем каталоге относительно набора изменений:

hg статус --rev 9353

· Показать изменения в рабочем каталоге относительно текущего каталога (см. hg помощь
паттеранами для дополнительной информации):

хг статус ре:

· Показать все изменения, включая копии в существующем наборе изменений:

статус hg --copies --change 9353

· Получить список добавленных файлов, разделенных NUL, подходящих для xargs:

hg статус -an0

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

Опции:

-А, --все
показать статус всех файлов

-м, - модифицированный
показать только измененные файлы

-a --добавлен
показать только добавленные файлы

-р, --удаленный
показать только удаленные файлы

-д, - удалено
показывать только удаленные (но отслеживаемые) файлы

-с, --чистый
показывать только файлы без изменений

-у, --неизвестный
показывать только неизвестные (не отслеживаемые) файлы

-я, - игнорируется
показывать только проигнорированные файлы

-н, --нет положения
скрыть префикс статуса

-С, - копии
показать источник скопированных файлов

-0, --print0
заканчивать имена файлов с помощью NUL, для использования с xargs

--rev
показать отличие от ревизии

--изменение
список измененных файлов ревизии

-Я,--включают
включать имена, соответствующие заданным шаблонам

-ИКС,--исключать
исключить имена, соответствующие заданным шаблонам

-С, --subrepos
рекурсивно в субхранилища

-Т,--шаблон
отображение с шаблоном (ЭКСПЕРИМЕНТАЛЬНЫЙ)

[+] отмеченный вариант можно указывать несколько раз

псевдонимы: st

резюме
суммировать состояние рабочего каталога:

hg резюме [--remote]

Это генерирует краткую сводку о состоянии рабочего каталога, включая родительские, ветвь,
статус фиксации, фаза и доступные обновления.

С параметром --remote будет проверяться пути по умолчанию для входящих и исходящих
изменения. Это может занять много времени.

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

Опции:

--дистанционный пульт
проверить на толкание и тягу

псевдонимы: сумма

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

тег hg [-f] [-l] [-m ТЕКСТ] [-d ДАТА] [-u ПОЛЬЗОВАТЕЛЬ] [-r REV] ИМЯ ...

Назовите конкретную ревизию, используя .

Теги используются для обозначения определенных версий репозитория и очень полезны для
сравнить разные ревизии, вернуться к более ранним версиям или отметить ветку
указывает как релизы и т. д. Изменение существующего тега обычно не допускается; используйте -f / - force
переопределить.

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

Чтобы облегчить контроль версий, распространение и объединение тегов, они хранятся как
файл с именем ".hgtags", который управляется аналогично другим файлам проекта и может быть
при необходимости редактируется вручную. Это также означает, что добавление тегов создает новую фиксацию. Файл
".hg / localtags" используется для локальных тегов (не используется в репозиториях).

Коммиты тегов обычно выполняются во главе ветки. Если родитель рабочего
каталог не является главой филиала, hg день прерывание; используйте -f / - принудительно, чтобы тег зафиксировал
основываться на изменениях, не относящихся к головным.

Увидеть hg помощь даты для списка форматов, допустимых для -d / - date.

Поскольку имена тегов имеют приоритет над именами веток во время поиска ревизий, использование существующего
имя ветки в качестве имени тега не рекомендуется.

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

Опции:

-ф, --сила
принудительный тег

-л, --местный
сделать тег локальным

-р,--rev
редакция тега

--Удалить
удалить тег

-е, --редактировать
вызывать редактор для сообщений фиксации

-м,--сообщение
использовать текст как сообщение фиксации

-д,--свидание
записать указанную дату как дату фиксации

-у,--Пользователь
записать указанного пользователя как коммиттера

имеют теги
перечислить теги репозитория:

теги hg

Здесь перечислены как обычные, так и локальные теги. Когда используется параметр -v / - verbose, третий
столбец «локальный» печатается для локальных тегов. Когда используется переключатель -q / - quiet, только
печатается имя тега.

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

Опции:

-Т,--шаблон
отображение с шаблоном (ЭКСПЕРИМЕНТАЛЬНЫЙ)

тип
показать ревизию наконечника (УСТАРЕВШИЙ):

подсказка [-p] [-g]

Версия подсказки (обычно называемая просто подсказкой) - это набор изменений, который был недавно добавлен в
репозиторий (а значит, и последняя измененная голова).

Если вы только что совершили коммит, этот коммит будет подсказкой. Если вы только что потянули
изменяется из другого репозитория, верхушка этого репозитория становится текущей подсказкой. В
Тег "tip" является специальным и не может быть переименован или назначен другому набору изменений.

Эта команда устарела, используйте hg главы .

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

Опции:

-п, --пластырь
показать патч

-грамм, --git
использовать расширенный формат сравнения git

--стиль
отображение с использованием файла карты шаблона (УСТАРЕЛО)

-Т,--шаблон
отображение с шаблоном

Unbundle
применить один или несколько файлов группы изменений:

hg unbundle [-u] ФАЙЛ ...

Примените один или несколько сжатых файлов группы изменений, сгенерированных командой bundle.

Возвращает 0 в случае успеха, 1, если обновление содержит неразрешенные файлы.

Опции:

-у, --Обновить
обновить до новой главы ветки, если ревизии были разделены

обновление
обновить рабочий каталог (или изменить версию):

hg update [-c] [-C] [-d ДАТА] [[-r] REV]

Обновите рабочий каталог репозитория до указанного набора изменений. Если набор изменений не
указано, обновить до конца текущей именованной ветки и переместить активную закладку (см.
hg помощь закладки).

Обновление устанавливает родительскую ревизию рабочего каталога для указанного набора изменений (см. hg
помощь родители).

Если набор изменений не является потомком или предком родительского рабочего каталога,
обновление прервано. С параметром -c / - check рабочий каталог проверяется на наличие
незафиксированные изменения; если ничего не найдено, рабочий каталог обновляется до указанного
набор изменений.

Следующие правила применяются, когда рабочий каталог содержит незафиксированные изменения:

1. Если не указано ни -c / - check, ни -C / - clean, и если запрошенный набор изменений является
предком или потомком родителя рабочего каталога, незафиксированные изменения
объединяются в запрошенный набор изменений, и объединенный результат остается незафиксированным. Если
запрошенный набор изменений не является предком или потомком (то есть находится на другом
ветка), обновление прерывается, а незафиксированные изменения сохраняются.

2. С параметром -c / - check обновление прерывается, а незафиксированные изменения удаляются.
сохранились.

3. С параметром -C / - clean незафиксированные изменения удаляются и рабочий каталог
обновляется до запрошенного набора изменений.

Чтобы отменить незафиксированное слияние (и потерять свои изменения), используйте hg обновление --чистый ..

Используйте null в качестве набора изменений для удаления рабочего каталога (например, hg клонировать -U).

Если вы хотите вернуть только один файл к более старой версии, используйте hg возвращаться [-р обр.] ИМЯ.

Увидеть hg помощь даты для списка форматов, допустимых для -d / - date.

Возвращает 0 в случае успеха, 1, если есть неразрешенные файлы.

Опции:

-С, --чистый
отменить незафиксированные изменения (без резервного копирования)

-с, --проверить
обновлять по веткам, если нет незафиксированных изменений

-д,--свидание
дата соответствия самой последней ревизии

-р,--rev
пересмотр

-т,--орудие труда
указать инструмент слияния

псевдонимы: up checkout co

проверить
проверяем целостность репозитория:

hg проверить

Проверьте целостность текущего репозитория.

Это выполнит тщательную проверку целостности репозитория, проверив хэши.
и контрольные суммы каждой записи в журнале изменений, манифесте и отслеживаемых файлах, а также
целостность их сшивок и индексов.

Пожалуйста, посетите https://mercurial-scm.org/wiki/RepositoryCorruption для получения дополнительной информации о
восстановление репозитория от повреждения.

Возвращает 0 при успехе, 1 при обнаружении ошибок.

версия
версия вывода и информация об авторских правах:

версия hg

версия вывода и информация об авторских правах

ДАТА ФОРМАТЫ


Некоторые команды позволяют пользователю указать дату, например:

· Возврат, фиксация, импорт, тег: укажите дату фиксации.

· Журнал, возврат, обновление: выберите ревизию (и) по дате.

Допустимы многие форматы даты. Вот некоторые примеры:

· Ср декабрь 6 13:18:29 2006 (предполагается местный часовой пояс)

· декабрь 6 13:18 -0600 (предполагаемый год, смещение по времени)

· декабрь 6 13:18 UTC (UTC и GMT - псевдонимы для +0000)

· декабрь 6 (полночь)

· 13:18 (сегодня предполагается)

· 3:39 (Предполагается, что 3:39)

· 3: 39pm (15: 39)

· 2006-12-06 13:18:29 (Формат ISO 8601)

· 2006-12-6 13:18

· 2006-12-6

· 12-6

· 12/6

· 12/6/6 (6 декабря 2006 г.)

· сегодня (полночь)

· вчера (полночь)

· сейчас - Сейчас

Наконец, есть внутренний формат Mercurial:

· 1165411109 0 (6 декабря, среда, 13:18:29, 2006 UTC)

Это внутренний формат представления дат. Первое число - это количество
секунд с эпохи (1970-01-01 00:00 UTC). Второй - смещение местного
часовой пояс в секундах к западу от UTC (отрицательный, если часовой пояс к востоку от UTC).

Команда log также принимает диапазоны дат:

· <ДАТА - в указанную дату / время или раньше

· > ДАТА - в или после заданной даты / времени

· ДАТА в ДАТА - диапазон дат включительно

· -ДНЕЙ - в течение заданного количества дней от сегодняшнего дня

DIFF ФОРМАТЫ


Формат Mercurial по умолчанию для отображения изменений между двумя версиями файла:
совместим с унифицированным форматом GNU diff, который может использоваться патчем GNU и многими другими
другие стандартные инструменты.

Хотя этого стандартного формата часто бывает достаточно, он не кодирует следующую информацию:

· Статус исполняемого файла и другие биты разрешений

· Копировать или переименовывать информацию

· Изменения в бинарных файлах

· Создание или удаление пустых файлов

Mercurial также поддерживает расширенный формат сравнения из git VCS, который решает эти проблемы.
ограничения. Формат git diff не создается по умолчанию, потому что несколько широко распространенных инструментов
до сих пор не понимаю этот формат.

Это означает, что при генерации различий из репозитория Mercurial (например, с hg экспорт),
вы должны быть осторожны с такими вещами, как копирование и переименование файлов или другие вещи, упомянутые
выше, потому что при применении стандартного сравнения к другому репозиторию этот дополнительный
информация потеряна. Внутренние операции Mercurial (такие как push и pull) не затрагиваются.
этим, потому что они используют внутренний двоичный формат для передачи изменений.

Чтобы Mercurial создавал расширенный формат сравнения git, используйте параметр --git, доступный для
многие команды или установите 'git = True' в разделе [diff] вашего файла конфигурации. Ты
не нужно устанавливать эту опцию при импорте различий в этом формате или использовании их в mq
расширение.

ОКРУЖАЮЩАЯ СРЕДА ПЕРЕМЕННЫЕ


HG Путь к исполняемому файлу 'hg', автоматически передаваемый при запуске хуков, расширений или
внешние инструменты. Если не задано или пусто, это имя исполняемого файла hg, если он заморожен,
или исполняемый файл с именем 'hg' (с% PATHEXT% [по умолчанию COM / EXE / BAT / CMD]
расширения в Windows) ищется.

ГЕДИТОР
Это имя редактора, запускаемого при фиксации. См. РЕДАКТОР.

(не рекомендуется, используйте файл конфигурации)

HGENКОДИРОВАНИЕ
Это отменяет настройку локали по умолчанию, обнаруженную Mercurial. Этот параметр
используется для преобразования данных, включая имена пользователей, описания наборов изменений, имена тегов и
ветви. Этот параметр можно изменить с помощью параметра командной строки --encoding.

HGENCODINGMODE
Это устанавливает поведение Mercurial для обработки неизвестных символов при перекодировании.
пользовательский ввод. По умолчанию установлено "строгое", что приводит к прерыванию работы Mercurial, если он не может.
отобразить персонажа. Другие настройки включают "заменить", который заменяет неизвестное.
персонажей и "игнорировать", который их отбрасывает. Этот параметр можно изменить с помощью
Параметр командной строки --encodingmode.

HGENCODINGAMBIGUOUS
Это устанавливает поведение Mercurial для обработки символов с "неоднозначной" шириной, например
латинские символы с акцентом на восточноазиатские шрифты. По умолчанию Mercurial предполагает
неоднозначные символы являются узкими, установите для этой переменной значение "wide", если такие символы
вызвать проблемы с форматированием.

ХГМЕРГЕ
Исполняемый файл, используемый для разрешения конфликтов слияния. Программа будет выполнена
с тремя аргументами: локальный файл, удаленный файл, файл-предок.

(не рекомендуется, используйте файл конфигурации)

ХГРКПАТХ
Список файлов или каталогов для поиска файлов конфигурации. Разделитель предметов -
":" в Unix, ";" в Windows. Если HGRCPATH не установлен, путь поиска платформы по умолчанию
используется. Если пусто, читается только .hg / hgrc из текущего репозитория.

Для каждого элемента в HGRCPATH:

· Если это каталог, добавляются все файлы с расширением .rc

· В противном случае добавится сам файл

HGPLAIN
Когда установлено, это отключает любые параметры конфигурации, которые могут изменить Mercurial's
вывод по умолчанию. Это включает в себя кодировку, значения по умолчанию, подробный режим, режим отладки, тихий
режим, трассировки и локализация. Это может быть полезно при написании сценариев против
Mercurial вопреки существующей пользовательской конфигурации.

Эквивалентные параметры, установленные с помощью флагов командной строки или переменных среды, не
переопределено.

HGPLAINEXCEPT
Это список функций, разделенных запятыми, которые необходимо сохранить при включении HGPLAIN.
В настоящее время поддерживаются следующие значения:

псевдоним

Не удаляйте псевдонимы.

i18n

Сохранить интернационализацию.

ревсеталиас

Не удаляйте псевдонимы ревизий.

Установка для HGPLAINEXCEPT любого значения (даже пустой строки) включит простой режим.

ХГУСЕР Это строка, используемая в качестве автора фиксации. Если не установлен, доступные значения
будут рассматриваться в таком порядке:

· HGUSER (устарело)

· Файлы конфигурации из HGRCPATH

· ЭЛЕКТРОННОЕ ПИСЬМО

· Интерактивная подсказка

· LOGNAME (с @имя хоста добавлено)

(не рекомендуется, используйте файл конфигурации)

ЭЛ. АДРЕС Может использоваться как автор коммита; см. HGUSER.

LOGNAME
Может использоваться как автор коммита; см. HGUSER.

VISUAL Это имя редактора, который будет использоваться при фиксации. См. РЕДАКТОР.

РЕДАКТОР Иногда Mercurial необходимо открыть текстовый файл в редакторе, чтобы пользователь мог его изменить,
например, при написании сообщений о фиксации. Используемый редактор определяется
глядя на переменные среды HGEDITOR, VISUAL и EDITOR в указанном порядке.
Выбирается первый непустой. Если все они пусты, редактор по умолчанию
"толковый редактор".

PYTHONPATH
Это используется Python для поиска импортированных модулей и, возможно, потребуется установить
соответственно, если этот Mercurial не установлен в системе.

С ПОМОЩЬЮ ДОПОЛНИТЕЛЬНЫЕ ФУНКЦИИ И ОСОБЕННОСТИ


Mercurial имеет возможность добавлять новые функции с помощью расширений. Расширения
может добавлять новые команды, добавлять параметры к существующим командам, изменять поведение по умолчанию
команды или реализовать хуки.

Чтобы включить расширение "foo", поставляемое с Mercurial или в пути поиска Python,
создайте для него запись в файле конфигурации, например:

[расширения]
фу =

Вы также можете указать полный путь к расширению:

[расширения]
моя функция = ~ / .hgext / myfeature.py

Увидеть hg помощь конфиг для получения дополнительной информации о файлах конфигурации.

Расширения не загружаются по умолчанию по разным причинам: они могут ускорить запуск
накладные расходы; они могут быть предназначены только для расширенного использования; они могут предоставить потенциально
опасные способности (например, возможность уничтожить или изменить историю); они могут не быть
готов к прайм-тайм; или они могут изменить обычное поведение стандартного Mercurial. это
таким образом, пользователь может активировать расширения по мере необходимости.

Чтобы явно отключить расширение, включенное в файле конфигурации более широкого диапазона,
добавьте свой путь с помощью!:

[расширения]
# отключение панели расширения, находящейся в /path/to/extension/bar.py
bar =! /path/to/extension/bar.py
# то же самое, но для расширения baz не указан путь
baz =!

отключенные расширения:

ACL хуки для управления доступом к репозиторию

черный ящик
записывать события репозитория в черный ящик для отладки

Bugzilla
хуки для интеграции с баг-трекером Bugzilla

цензор стереть содержимое файла в данной ревизии

маслобойка команда для отображения статистики истории репозитория

клоны
рекламировать предварительно сгенерированные пакеты для семенных клонов

цвет раскрасить вывод некоторых команд

конвертировать
импортировать ревизии из чужих репозиториев VCS в Mercurial

эол автоматически управлять новой строкой в ​​файлах репозитория

добавочный
команда, позволяющая внешним программам сравнивать версии

мастер на все руки
HTTP-аутентификация с помощью factotum

GPG команды для подписи и проверки ревизий

hgcia хуки для интеграции с сервисом уведомлений CIA.vc

Hgk просматривать репозиторий в графическом виде

выделить
подсветка синтаксиса для hgweb (требуется Pygments)

hisedit
интерактивное редактирование истории

ключевое слово
расширять ключевые слова в отслеживаемых файлах

большие файлы
отслеживать большие двоичные файлы

mq управлять стопкой патчей

уведомлять хуки для отправки push-уведомлений по электронной почте

пейджер просматривать вывод команды с помощью внешнего пейджера

заплаточная бомба
команда для отправки наборов изменений в виде (серии) писем с исправлениями

чистка команда для удаления неотслеживаемых файлов из рабочего каталога

перебазировать команда для перемещения наборов ревизий к другому предку

запись команды для интерактивного выбора изменений для фиксации / qrefresh

повторно связать воссоздает жесткие ссылки между клонами репозитория

схемы
расширять схемы с помощью ярлыков для роя репозиториев

Share иметь общую историю между несколькими рабочими каталогами

откладывать в долгий ящик сохранять и восстанавливать изменения в рабочем каталоге

полоса удалить ревизии и их потомков из истории

пересадка
команда для трансплантации ревизий из другой ветки

Win32MBCS
разрешить использование путей MBCS с проблемными кодировками

Zeroconf
обнаруживать и рекламировать репозитории в локальной сети

УКАЗАНИЕ ФАЙЛОВ НАБОРЫ


Mercurial поддерживает функциональный язык для выбора набора файлов.

Как и другие шаблоны файлов, этот тип шаблона обозначается префиксом "set:". Язык
поддерживает ряд предикатов, к которым присоединяются инфиксные операторы. Круглые скобки могут быть
используется для группировки.

Идентификаторы, такие как имена файлов или шаблоны, должны быть заключены в одинарные или двойные кавычки, если
они содержат символы за пределами [. * {} []? / \ _ a-zA-Z0-9 \ x80- \ xff] или если они соответствуют одному из
предопределенные предикаты. Обычно это относится к шаблонам файлов, отличным от глобусов и
аргументы для предикатов.

Специальные символы могут использоваться в идентификаторах в кавычках, экранируя их, например, \n is
интерпретируется как новая строка. Чтобы предотвратить их интерпретацию, строки могут иметь префиксы
r, например р'...'.

Есть единственный префиксный оператор:

x

Файлы не в x. Краткая форма ! x.

Это поддерживаемые инфиксные операторы:

x и y

Пересечение файлов по x и y. Краткая форма x & y.

x or y

Объединение файлов по x и y. Есть две альтернативные короткие формы: x | y и x +
y.

x - y

Файлы в x, но не в y.

Поддерживаются следующие предикаты:

добавлен()

Файл, добавленный в соответствии с hg статус.

двоичный ()

Файл, который выглядит двоичным (содержит байты NUL).

чистый ()

Файл, который чист в соответствии с hg статус.

скопировано ()

Файл, записанный как копируемый.

удалено ()

Псевдоним для отсутствует().

кодировка (имя)

Файл может быть успешно декодирован с заданной кодировкой символов. Может не быть
полезно для кодировок, отличных от ASCII и UTF-8.

эол (стиль)

Файл содержит символы новой строки заданного стиля (dos, unix, mac). Двоичные файлы
исключено, файлы со смешанными окончаниями строк соответствуют нескольким стилям.

exec ()

Файл, помеченный как исполняемый.

grep (регулярное выражение)

Файл содержит заданное регулярное выражение.

hgignore ()

Файл, соответствующий активному шаблону .hgignore.

игнорируется ()

Файл, который игнорируется в соответствии с hg статус. Эти файлы будут рассматриваться только в том случае, если
этот предикат используется.

отсутствует()

Файл, который отсутствует согласно hg статус.

изменено ()

Файл, измененный в соответствии с hg статус.

портативный ()

Файл с переносимым именем. (Это не включает имена файлов с регистром
столкновения.)

удаленный()

Файл, удаленный согласно hg статус.

решено ()

Файл, помеченный как разрешенный в соответствии с hg решение -l.

размер (выражение)

Размер файла соответствует заданному выражению. Примеры:

· 1к (файлы размером от 1024 до 2047 байт)

· <20k (файлы размером менее 20480 байт)

·> = .5MB (файлы размером не менее 524288 байт)

· 4k - 1MB (файлы размером от 4096 байт до 1048576 байт)

субрепо ([шаблон])

Подхранилища, пути которых соответствуют заданному шаблону.

символическая ссылка ()

Файл, помеченный как символическая ссылка.

неизвестный()

Файл, который неизвестен согласно hg статус. Эти файлы будут рассматриваться только в том случае, если
этот предикат используется.

неразрешенный ()

Файл, помеченный как нерешенный в соответствии с hg решение -l.

Некоторые примеры запросов:

· Показать статус файлов, которые кажутся двоичными в рабочем каталоге:

hg status -A "набор: двоичный ()"

· Забудьте о файлах в .hgignore, которые уже отслеживаются:

hg забудьте "установить: hgignore () и не игнорировать ()"

· Найдите текстовые файлы, содержащие строку:

hg files "набор:GREP(магический), а не двоичный () "

· Найдите файлы C в нестандартной кодировке:

hg files "set: **. c and not encoding ('UTF-8')"

· Восстановить копии больших двоичных файлов:

hg revert "set: copied () and binary () and size ('> 1M')"

· Удалите файлы, перечисленные в foo.lst, содержащие букву a или b:

hg remove "set: 'listfile: foo.lst' and (** a * or ** b *)"

Смотрите также hg помощь паттеранами.

СЛОВАРЬ


предок
Любой набор изменений, который может быть достигнут непрерывной цепочкой родительских наборов изменений из
данный набор изменений. Точнее, предки набора изменений могут быть определены двумя
свойства: родительский элемент набора изменений является предком, а родительский элемент предка является
предок. См. Также: «Потомок».

закладка
Закладки - это указатели на определенные коммиты, которые перемещаются при фиксации. Они есть
похожи на теги тем, что можно использовать имена закладок во всех местах, где
Mercurial ожидает ID набора изменений, например, с hg обновление. В отличие от тегов, закладки перемещаются
вместе, когда вы делаете коммит.

Закладки можно переименовывать, копировать и удалять. Закладки являются локальными, если они не
явно проталкивается или извлекается между репозиториями. Нажатие и вытягивание закладок
позволяют вам сотрудничать с другими участниками ветки без создания именованной ветки.

Филиал (Существительное) Дочерний набор изменений, созданный из родительского элемента, не являющегося главой.
Они известны как топологические ветви, см. «Ветвь, топологическая». Если
топологическая ветвь называется, она становится именованной веткой. Если топологическая ветвь
не названный, он становится анонимной веткой. См. "Branch, anonymous" и "Branch,
названный '.

Ветви могут создаваться, когда изменения извлекаются с удаленного компьютера или отправляются на него.
репозиторий, так как в результате этих операций могут быть созданы новые головы. Обратите внимание, что термин
ветку также можно неформально использовать для описания процесса разработки, в котором
определенные разработки выполняются независимо от других разработок. Это иногда
выполняется явно с помощью именованной ветки, но это также можно сделать локально, используя
закладки или клоны и анонимные ветки.

Пример: «Опытная ветка».

(Глагол) Действие по созданию дочернего набора изменений, в результате которого его родительский элемент имеет
более одного ребенка.

Пример: «Я собираюсь перейти в X».

Ветвь, анонимный
Каждый раз, когда создается новая дочерняя ревизия из родителя, который не является головой и
название ветки не меняется, создается новая анонимная ветка.

Ветвь, закрыто
Именованный филиал, все руководители которого были закрыты.

Ветвь, по умолчанию
Ветвь, назначенная набору изменений, когда ранее не было присвоено имя.

Филиал
См. «Голова, ветвь».

Ветвь, неактивный
Если именованная ветка не имеет топологических головок, она считается неактивной. Как
Например, ветвь функции становится неактивной, когда она объединяется с веткой по умолчанию.
филиал. hg ветви команда по умолчанию показывает неактивные ветки, хотя они могут
быть скрытым с hg ветви --активный.

ПРИМЕЧАНИЕ: эта концепция устарела, потому что она слишком неявна. Филиалы должны сейчас
быть явно закрытым с помощью hg совершать --close-ветка когда они больше не нужны.

Ветвь, названный
Коллекция наборов изменений с одинаковым именем ветки. По умолчанию дочерние элементы
набор изменений в именованной ветке принадлежит той же именованной ветке. Ребенок может быть
явно назначен другой ветке. Видеть hg помощь филиал, hg помощь ветви и
hg совершать --close-ветка для получения дополнительной информации об управлении филиалами.

Именованные ветви можно рассматривать как своего рода пространство имен, разделяющее коллекцию
наборы изменений, которые составляют репозиторий в коллекцию непересекающихся подмножеств. А
именованная ветвь не обязательно является топологической ветвью. Если новая именованная ветка
создается из заголовка другой именованной ветки или ветки по умолчанию, но нет
следующие ревизии добавляются в предыдущую ветку, затем в предыдущую ветку
будет веткой только по названию.

Филиал тип
См. «Наконечник, ветка».

Ветвь, топологический
Каждый раз, когда создается новая дочерняя ревизия из родительского элемента, который не является главой, новый
создана топологическая ветвь. Если топологическая ветвь названа, она становится именованной
филиал. Если топологическая ветвь не названа, она становится анонимной ветвью
текущая ветвь, возможно, по умолчанию.

Список изменений:
Запись наборов изменений в том порядке, в котором они были добавлены в репозиторий.
Сюда входят такие данные, как идентификатор набора изменений, автор, сообщение фиксации, дата и список.
измененных файлов.

Набор изменений
Снимок состояния репозитория, использованный для записи изменения.

Набор изменений, ребенок
Обратное к родительскому набору изменений: если P является родительским элементом C, то C является дочерним элементом P.
Нет ограничений на количество потомков, которые может иметь ревизия.

Набор изменений id
Хэш SHA-1, который однозначно идентифицирует набор изменений. Его можно представить как
«длинная» строка из 40 шестнадцатеричных цифр или «короткая» строка из 12 шестнадцатеричных цифр.

Набор изменений, слияние
Набор изменений с двумя родителями. Это происходит, когда выполняется слияние.

Набор изменений, родителя
Ревизия, на которой основана дочерняя ревизия. В частности, родительский набор изменений
набора изменений C - это набор изменений, узел которого непосредственно предшествует C в группе DAG.
Наборы изменений имеют не более двух родителей.

Оформление заказа
(Существительное) Рабочий каталог, обновляемый до определенной версии. Это использование должно
вероятно, следует избегать, где это возможно, поскольку набор изменений гораздо более уместен, чем
оформление заказа в этом контексте.

Пример: «Я использую кассу X».

(Глагол) Обновление рабочего каталога до определенного набора изменений. Видеть hg помощь обновление.

Пример: «Я собираюсь проверить набор изменений X.»

детей, ревизия
См. «Набор изменений, ребенок».

Закрыто ревизия
См. «Голова, закрытая ветка».

закрыто филиал
См. «Филиал, закрытый».

Клон (Существительное) Полная или частичная копия репозитория. Частичный клон должен быть в
форма ревизии и ее предки.

Пример: "Ваш клон обновлен?"

(Глагол) Процесс создания клона с использованием hg клонировать.

Пример: «Я собираюсь клонировать репозиторий».

закрыто филиал
См. «Голова, закрытая ветка».

Совершать (Существительное) Синоним ревизии.

Пример: «Исправлена ​​ли ошибка в вашем недавнем коммите?»

(Глагол) Акт записи изменений в репозиторий. Когда файлы фиксируются в
рабочий каталог, Mercurial находит различия между зафиксированными файлами и
их родительский набор изменений, создавая новый набор изменений в репозитории.

Пример: «Вы должны зафиксировать эти изменения сейчас».

Ксет Распространенное сокращение термина "набор изменений".

DAG Репозиторий ревизий распределенной системы контроля версий (DVCS) может быть
описывается как ориентированный ациклический граф (DAG), состоящий из узлов и ребер, где
узлы соответствуют ревизиям, а ребра подразумевают отношение родитель -> потомок. Этот
график можно визуализировать с помощью графических инструментов, таких как hg журнал --граф. В Mercurial,
DAG ограничивается требованием, чтобы у детей было не более двух родителей.

Устаревшее
Функция удалена из документации, но не планируется к удалению.

По умолчанию филиал
См. "Ветвь, по умолчанию".

Потомок
Любой набор изменений, который может быть достигнут цепочкой дочерних наборов изменений из данного
набор изменений. Точнее, потомки набора изменений могут быть определены двумя
свойства: потомок набора изменений является потомком, а потомок потомка
потомок. См. Также: «Предок».

Разница (Существительное) Разница между содержимым и атрибутами файлов в двух
ревизии или ревизии и текущий рабочий каталог. Разница в том
обычно представлены в стандартной форме, называемой «diff» или «patch». "Git diff"
формат используется, когда изменения включают копии, переименования или изменения файла
атрибуты, ни один из которых не может быть представлен / обработан классическими "diff" и "patch".

Пример: «Вы видели мои исправления в различии?»

(Глагол) Различие двух ревизий - это действие по созданию разницы или патча.

Пример: «Если вы сравните с ревизией X, вы поймете, что я имею в виду».

Справочник, работает
Рабочий каталог представляет состояние файлов, отслеживаемых Mercurial, которые
будет записан в следующем коммите. Рабочий каталог изначально соответствует
снимок существующего набора изменений, известный как родительский для рабочего
каталог. См. «Родительский, рабочий каталог». Состояние может быть изменено путем изменения
файлы, введенные вручную или путем слияния. Метаданные репозитория существуют в
Каталог .hg внутри рабочего каталога.

Черновик Наборы изменений на этапе черновика не были переданы в репозитории публикации и
таким образом, могут быть безопасно изменены с помощью расширений, изменяющих историю. Видеть hg помощь фаз.

Экспериментальный
Функция, которая может быть изменена или удалена позже.

График См. DAG и hg журнал --граф.

Руководитель Термин «глава» может использоваться для обозначения как главы ветки, так и главы репозитория,
в зависимости от контекста. См. Разделы "Руководитель, ветвь" и "Руководитель, репозиторий" для получения более подробной информации.
определения.

Головы - это то место, где обычно происходит разработка, и они являются обычными целями для
операции обновления и слияния.

Руководитель, филиал
Набор изменений без потомков в той же названной ветке.

Руководитель, закрыто филиал
Набор изменений, который отмечает, что голова больше не интересна. Закрытая голова нет
больше перечислено hg главы. Ветка считается закрытой, если все ее головы открыты.
закрыто и, следовательно, не внесено в список hg ветви.

Закрытые головы можно открыть повторно, зафиксировав новую ревизию в качестве дочернего элемента
набор изменений, который отмечает головку как закрытую.

Руководитель, хранилище
Незакрытая топологическая голова.

Руководитель, топологический
Набор изменений без дочерних элементов в репозитории.

История, неизменный
После фиксации изменения нельзя изменить. Расширения, которые кажутся меняющимися
история фактически создает новые наборы изменений, которые заменяют существующие, а затем уничтожает
старые ревизии. Выполнение этого в общедоступных репозиториях может привести к старым изменениям.
повторно вводятся в репозиторий.

История, перезаписи
Наборы изменений в репозитории неизменяемы. Однако расширения Mercurial могут
использоваться для изменения репозитория, обычно таким образом, чтобы сохранить набор изменений
содержание.

Неизменный история
См. «Неизменяемая история».

идти ревизия
См. «Набор изменений, слияние».

Манифест
У каждого набора изменений есть манифест, который представляет собой список файлов, которые отслеживаются
набор изменений.

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

Названный филиал
См. "Branch, named".

Значение Null ревизия
Пустая ревизия. Это родительское состояние вновь инициализированных репозиториев и
репозитории без проверенной ревизии. Таким образом, это родительский элемент для корневых ревизий.
и эффективный предок при слиянии несвязанных наборов изменений. Может быть указано
псевдонимом 'null' или идентификатором набора изменений '000000000000'.

Родитель См. «Набор изменений, родительский».

Родитель ревизия
См. «Набор изменений, родительский».

Родитель, работает каталог
Родительский рабочий каталог отражает виртуальную ревизию, которая является дочерним элементом
набор изменений (или два набора изменений с незафиксированным слиянием), показанный hg родители. Это
изменяется с hg обновление. Другие команды для просмотра родительского рабочего каталога:
hg резюме и hg id. Может быть указан псевдонимом ".".

Патчи (Существительное) Результат операции сравнения.

Пример: «Я отправил вам свой патч».

(Глагол) Процесс использования файла исправления для преобразования одной ревизии в другую.

Пример: «Вам нужно будет исправить эту ревизию».

Фаза Отслеживание состояния для каждого набора изменений, как набор изменений был или должен быть опубликован. Видеть
hg помощь фаз.

Общая Наборы изменений на публичной фазе были переданы в репозитории публикации и
поэтому считаются неизменными. Видеть hg помощь фаз.

Потянуть Операция, при которой ревизии в удаленном репозитории, не находящиеся в локальном
репозиторий переносятся в локальный репозиторий. Обратите внимание, что эта операция без
специальные аргументы только обновляют репозиторий, он не обновляет файлы в
рабочий каталог. Видеть hg помощь тянуть.

Push Операция, при которой ревизии в локальном репозитории, не находящиеся в удаленном
репозиторий отправляются в удаленный репозиторий. Обратите внимание, что эта операция только добавляет
наборы изменений, которые были зафиксированы локально в удаленном репозитории. Незавершенный
изменения не отправляются. Видеть hg помощь протолкнуть..

Репозиторий
Метаданные, описывающие все записанные состояния коллекции файлов. Каждый записанный
состояние представлено набором изменений. Репозиторий обычно (но не всегда) находится
в .hg подкаталог рабочего каталога. Любое записанное состояние может быть воссоздано
путем «обновления» рабочего каталога до определенного набора изменений.

Репозиторий
См. "Head, repository".

Пересмотр
Состояние репозитория в определенный момент времени. Более ранние версии могут быть обновлены
с помощью hg обновление. См. Также «Номер редакции»; См. Также «Набор изменений».

Пересмотр номер
Это целое число однозначно определяет набор изменений в конкретном репозитории. Это
представляет порядок, в котором ревизии были добавлены в репозиторий, начиная с
номер версии 0. Обратите внимание, что номер версии может отличаться в каждом клоне
репозиторий. Чтобы однозначно идентифицировать наборы изменений между разными клонами, см.
"Идентификатор набора изменений".

Журнал изменений Механизм хранения истории, используемый Mercurial. Это форма дельта-кодирования с
периодическая полная проверка данных с последующей дельтой каждой последующей проверки. Это
включает данные и указатель, указывающий на данные.

Переписывание история
См. «История, переписывание».

Корень Набор изменений, который имеет только нулевой набор изменений в качестве родительского. В большинстве репозиториев есть
только одна корневая ревизия.

Secret Наборы изменений в секретной фазе не могут быть переданы через push, pull или clone. Видеть hg
помощь фаз.

Тег Альтернативное имя для набора изменений. Теги можно использовать везде, где
Mercurial ожидает ID набора изменений, например, с hg обновление. Создание тега
сохраняются в истории и, таким образом, автоматически передаются другим пользователям с помощью push-уведомлений.
и тянуть.

Функции Набор изменений с наивысшим номером ревизии. Это последний набор изменений
добавлен в репозиторий.

Подсказка, филиал
Глава данной ветви с наивысшим номером ревизии. Когда название ветки
используется как идентификатор ревизии, он относится к кончику ветки. См. Также 'Branch,
голова'. Обратите внимание: поскольку номера ревизий могут отличаться в разных репозиториях
клонов, кончик ветки может быть разным в разных клонированных репозиториях.

Обновление ПО (Существительное) Еще один синоним набора изменений.

Пример: «Я отправил обновление».

(Глагол) Этот термин обычно используется для описания обновления состояния рабочего
каталог для конкретной ревизии. Видеть hg помощь обновление.

Пример: «Вам следует обновить».

Работы каталог
См. "Справочник, работает".

Работы каталог родителя
См. «Родительский, рабочий каталог».

СИНТАКСИС Для Ртутный ИГНОРИРУЙТЕ FILES


конспект
Система Mercurial использует файл с именем .hgignore в корневом каталоге репозитория в
контролировать его поведение при поиске файлов, которые в настоящее время не отслеживаются.

Описание
Рабочий каталог репозитория Mercurial часто содержит файлы, которые не должны
отслеживаться Mercurial. К ним относятся файлы резервных копий, созданные редакторами, и продукты сборки.
создается компиляторами. Эти файлы можно игнорировать, указав их в .hgignore файл в
корень рабочего каталога. В .hgignore файл должен быть создан вручную. это
обычно ставится под контроль версий, чтобы настройки распространялись на другие
репозитории с push и pull.

Не отслеживаемый файл игнорируется, если его путь относительно корневого каталога репозитория или любой другой
префиксный путь этого пути, сопоставляется с любым шаблоном в .hgignore.

Например, у нас есть неотслеживаемый файл, файл.с, в a / b / file.c внутри нашего репозитория.
Mercurial проигнорирует файл.с если какой-либо узор в .hgignore спички a / b / file.c, а / б or a.

Кроме того, файл конфигурации Mercurial может ссылаться на набор пользовательских или глобальных
игнорировать файлы. Увидеть игнорировать ключ конфигурации на [Ui] раздел hg помощь конфиг для
подробности о том, как настроить эти файлы.

Чтобы контролировать обработку Mercurial файлов, которыми он управляет, многие команды поддерживают -I и
-X опции; видеть hg помощь и hg помощь паттеранами для получения информации.

Файлы, которые уже отслеживаются, не затрагиваются .hgignore, даже если они появляются в
.hgignore. Не отслеживаемый файл X может быть явно добавлен с помощью hg X, даже если X будет
исключено шаблоном в .hgignore.

Синтаксис
Файл игнорирования - это простой текстовый файл, состоящий из списка шаблонов, по одному шаблону на каждый.
линия. Пустые строки пропускаются. В # символ рассматривается как символ комментария, а
символ рассматривается как escape-символ.

Mercurial поддерживает несколько синтаксисов шаблонов. По умолчанию используется синтаксис в стиле Python / Perl.
регулярные выражения.

Чтобы изменить используемый синтаксис, используйте строку следующего вида:

синтаксис: NAME

в котором ИМЯ является одним из следующих:

RegExp

Регулярное выражение, синтаксис Python / Perl.

земной шар

Шар в стиле ракушки.

Выбранный синтаксис остается в силе при анализе всех последующих шаблонов до следующего
синтаксис выбран.

Ни шаблоны glob, ни regexp не являются корневыми. Шаблон глобального синтаксиса формы * .c предусматривает
сопоставить файл, заканчивающийся на .c в любом каталоге и шаблон регулярного выражения в форме \ .c $ Сделаю
то же. Чтобы укоренить шаблон регулярного выражения, запустите его с ^.

Подкаталоги могут иметь свои собственные настройки .hgignore, добавив
subinclude: путь / к / подкаталогу / .hgignore к корню .hgignore. Посмотреть hg помощь паттеранами для
подробности о вложить: и следующие:.

Примечание Шаблоны, указанные в других, кроме .hgignore всегда укоренены. Посмотри пожалуйста hg помощь
паттеранами для получения информации.

Пример
Вот пример игнорируемого файла.

# использовать глобальный синтаксис.
синтаксис: glob

* .elc
* .pyc
*~

# переключиться на синтаксис регулярного выражения.
синтаксис: регулярное выражение
^ \. pc /

НАСТРОЙКА HGWEB


Внутренний веб-сервер Mercurial, hgweb, может обслуживать либо один репозиторий, либо дерево
репозитории. Во втором случае пути к репозиториям и глобальные параметры могут быть определены с помощью
специальный файл конфигурации, общий для hg служить, hgweb.wsgi, hgweb.cgi и hgweb.fcgi.

Этот файл использует тот же синтаксис, что и другие файлы конфигурации Mercurial, но распознает только
следующие разделы:

· Интернет

· Дорожки

· Коллекции

" Web варианты подробно описаны в hg помощь конфиг.

" пути Раздел сопоставляет URL-пути с путями к репозиториям в файловой системе. hgweb будет
не открывать файловую систему напрямую - можно публиковать только репозитории Mercurial и только
по комплектации.

Левая часть - это путь в URL-адресе. Обратите внимание, что hgweb резервирует такие подпути, как оборот or
файлпопробуйте использовать разные имена для вложенных репозиториев, чтобы избежать запутанных эффектов.

Правая часть - это путь в файловой системе. Если указанный путь заканчивается на * or **
в файловой системе будет выполняться рекурсивный поиск репозиториев ниже этой точки. С участием * it
не будет возвращаться в найденные репозитории (за исключением .hg / патчи). С участием ** это будет
также ищите внутри рабочих каталогов репозитория и, возможно, находите подкаталоги.

В этом примере:

[пути]
/ проекты / а = / SRV / tmprepos / а
/ проекты / б = с: / репозиторий / б
/ = / SRV / репозиторий / *
/ пользователь / боб = / дома / боб / репозиторий / **

· Первые две записи заставляют два репозитория в разных каталогах отображаться под
тот же каталог в веб-интерфейсе

· Третья запись опубликует каждый репозиторий Mercurial, найденный в / SRV / репозиторий /, Для
экземпляр репозитория / SRV / репозиторий / quux / появится как http://server/quux/

· Четвертая запись опубликует оба http://server/user/bob/quux/ и
http://server/user/bob/quux/testsubrepo/

" Коллекции раздел устарел и был заменен пути.

URL-адреса и Общий аргументы
URL-адреса в каждом репозитории имеют вид / {команда} [/ {аргументы}] в котором {команда}
представляет имя команды или обработчика и {аргументы} представляет любое количество
дополнительные параметры URL для этой команды.

С веб-сервером связан стиль по умолчанию. Стили сопоставляются с коллекцией именованных
шаблоны. Каждый шаблон используется для отображения определенного фрагмента данных, например набора изменений.
или разн.

Стиль текущего запроса можно перезаписать двумя способами. Во-первых, если {команда}
содержит дефис (-), текст перед дефисом определяет стиль. Например,
/ атом-журнал окажет журнал обработчик команд с атом стиль. Второй способ установить
стиль с стиль аргумент строки запроса. Например, / журнал? стиль = атом,
Параметр URL с дефисом является предпочтительным.

Не все шаблоны доступны для всех стилей. Попытка использовать стиль, который не
наличие всех определенных шаблонов может привести к ошибке рендеринга страницы.

Многие команды требуют {редакция} Параметр URL. Это определяет набор изменений, над которым нужно работать.
Обычно это короткое 12-значное шестнадцатеричное сокращение для полных 40
уникальный идентификатор редакции символа. Однако любое значение, описываемое hg помощь пересмотры
обычно работает.

Команды и URL-адреса
Доступны следующие веб-команды и их URL-адреса:

/ annotate / {версия} / {путь}
Показывать информацию о наборе изменений для каждой строки в файле.

" файланнотировать шаблон отображается.

/архив/{редакция}.{формат}[/{путь}]
Получите архив содержимого репозитория.

Содержимое и тип архива определяется параметром пути URL. формат это
расширение файла создаваемого типа архива. например застежка-молния or tar.bz2. Не весь архив
типы могут быть разрешены конфигурацией вашего сервера.

Необязательный путь Параметр URL управляет содержимым, которое нужно включить в архив. Если опущено,
каждый файл указанной ревизии присутствует в архиве. Если включен, только
указанный файл или содержимое указанного каталога будет включено в архив.

Для этого обработчика не используется шаблон. Создается необработанный двоичный контент.

/ закладки
Показать информацию о закладках.

Никакие аргументы не принимаются.

" закладки шаблон отображается.

/ветви
Показать информацию о филиалах.

В выводе содержатся все известные ветки, даже закрытые.

Никакие аргументы не принимаются.

" ветви шаблон отображается.

/ changelog [/ {revision}]
Показать информацию о нескольких наборах изменений.

Если необязательный пересмотр Аргумент URL отсутствует, информация обо всех запускаемых ревизиях
at тип будет отображаться. Если пересмотр присутствует аргумент, будут показаны наборы изменений
начиная с указанной ревизии.

If пересмотр отсутствует, оборот может быть определен аргумент строки запроса. Это выполнит
поиск изменений.

Аргумент за оборот может быть одной ревизией, набором ревизий или буквальным ключевым словом для
поиск в данных набора изменений (эквивалент hg журнал -k).

" пересчет Аргумент строки запроса определяет максимальное количество ревизий для рендеринга.

Если поиск не ведется, изменений будет отображен шаблон.

/ changeset [/ {revision}]
Показать информацию об одном наборе изменений.

Аргумент пути URL - это отображаемый идентификатор набора изменений. Видеть hg помощь пересмотры для
возможные значения. Если не определено, тип набор изменений будет показан.

" ревизия шаблон отображается. Содержание изменить настройку тега, изменить,
ссылка на файл, файл, и многие шаблоны, связанные с различиями, могут быть использованы для
произвести вывод.

/ сравнение / {версия} / {путь}
Покажите сравнение между старой и новой версиями файла на основе изменений, внесенных на
конкретная редакция.

Это похоже на Разница обработчик. Однако в этой форме есть разделение или бок о бок.
diff, а не унифицированный diff.

" контекст Аргумент строки запроса может использоваться для управления строками контекста в diff.

" сравнение файлов шаблон отображается.

/ diff / {версия} / {путь}
Покажите, как файл изменился в конкретном коммите.

" файлдифф шаблон отображается.

Этот обработчик зарегистрирован как под / diff и / filediff пути. / diff используется в
современный код.

/ file / {версия} [/ {путь}]
Показать информацию о каталоге или файле в репозитории.

Информация о путь заданный как параметр URL-адреса, будет отображаться.

If путь - это каталог, будет отображаться информация о записях в этом каталоге.
Эта форма эквивалентна проявлять обработчик.

If путь является файлом, информация об этом файле будет отображаться через файл
шаблон.

If путь не определен, будет отображена информация о корневом каталоге.

/ diff / {версия} / {путь}
Покажите, как файл изменился в конкретном коммите.

" файлдифф шаблон отображается.

Этот обработчик зарегистрирован как под / diff и / filediff пути. / diff используется в
современный код.

/ filelog / {версия} / {путь}
Показать информацию об истории файла в репозитории.

" пересчет аргумент строки запроса может быть определен для управления максимальным количеством записей
показывать.

" файлжурнал будет отображен шаблон.

/ graph [/ {revision}]
Показать информацию о графической топологии репозитория.

Информация, отображаемая этим обработчиком, может использоваться для создания визуальных представлений
топология репозитория.

" пересмотр Параметр URL управляет стартовой ревизией.

" пересчет аргумент строки запроса может определять количество наборов изменений для отображения информации
для.

Этот обработчик отобразит график шаблон.

/ help [/ {topic}]
Оформить справочную документацию.

Эта веб-команда примерно эквивалентна hg помощь, Если тема определено, эта справочная тема
будет отображаться. В противном случае будет отображен указатель доступных тем справки.

" помощь шаблон будет отображаться при запросе помощи по теме. разделы помощи будет
для указателя разделов справки.

/ log [/ {версия} [/ {путь}]]
Показать историю репозитория или файла.

Для URL формы / log / {версия}, список изменений, начиная с указанного
отображается идентификатор набора изменений. Если {редакция} не определено, по умолчанию тип. Эта форма
эквивалентно изменений обработчик.

Для URL формы / log / {версия} / {файл}, история для конкретного файла будет
показано. Эта форма эквивалентна файлжурнал обработчик.

/ manifest [/ {revision} [/ {path}]]
Показать информацию о каталоге.

Если аргументы пути URL опущены, информация о корневом каталоге для тип
набор изменений будет показан.

Поскольку этот обработчик может отображать информацию только для каталогов, рекомендуется использовать
файл вместо этого обработчик, так как он может обрабатывать как каталоги, так и файлы.

" проявлять будет обработан шаблон для этого обработчика.

/ changeset [/ {revision}]
Показать информацию об одном наборе изменений.

Аргумент пути URL - это отображаемый идентификатор набора изменений. Видеть hg помощь пересмотры для
возможные значения. Если не определено, тип набор изменений будет показан.

" ревизия шаблон отображается. Содержание изменить настройку тега, изменить,
ссылка на файл, файл, и многие шаблоны, связанные с различиями, могут быть использованы для
произвести вывод.

/ shortlog
Показать основную информацию о наборе изменений.

Принимает те же параметры, что и изменений обработчик. Единственная разница в том, что
короткий журнал шаблон будет отображаться вместо изменений шаблон.

/резюме
Показать сводку о состоянии репозитория.

Информация о последних наборах изменений, закладках, тегах и ветвях фиксируется этим
обработчик.

" резюме шаблон отображается.

/ теги
Показать информацию о тегах.

Никакие аргументы не принимаются.

" имеют теги шаблон отображается.

ТЕХ. РЕАЛИЗАЦИЯ ТЕМЫ


пучки
контейнер для обмена данными репозитория

группы изменений
представление данных журнала изменений

ревлоги
механизм хранения ревизий

MERGE ИНСТРУМЕНТЫ


Для слияния файлов Mercurial использует инструменты слияния.

Инструмент слияния объединяет две разные версии файла в объединенный файл. Инструменты слияния
учитывая два файла и наибольшего общего предка двух версий файлов, поэтому они могут
определить изменения, внесенные в обе ветви.

Инструменты слияния используются как для hg решение, hg слияние, hg обновление, hg обратно и несколько
.

Обычно инструмент слияния пытается автоматически согласовать файлы, объединяя все
неперекрывающиеся изменения, которые произошли отдельно в двух разных эволюциях
тот же исходный базовый файл. Кроме того, некоторые интерактивные программы слияния упрощают
вручную разрешить конфликтующие слияния, либо графическим способом, либо вставив некоторые
маркеры конфликтов. Mercurial не включает никаких интерактивных программ слияния, но полагается на
внешние инструменты для этого.

Доступен слияние инструменты
Внешние инструменты слияния и их свойства настраиваются в конфигурации слияния инструментов.
раздел - см. hgrc(5) - но часто их можно просто назвать по имени исполняемого файла.

Инструмент слияния обычно можно использовать, если его исполняемый файл можно найти в системе и если он
может справиться с слиянием. Исполняемый файл найден, если он является абсолютным или относительным исполняемым файлом
путь или имя приложения в пути поиска исполняемых файлов. Предполагается, что инструмент
иметь возможность обрабатывать слияние, если он может обрабатывать символические ссылки, если файл является символической ссылкой, если он может
обрабатывать двоичные файлы, если файл двоичный, и если доступен графический интерфейс, если инструмент требует
графический интерфейс.

Есть несколько внутренних инструментов слияния, которые можно использовать. Инструменты внутреннего слияния:

:свалка

Создает три версии файлов для слияния, содержащие содержимое локальных,
прочее и база. Затем эти файлы можно использовать для выполнения слияния вручную. Если
файл для слияния называется .txt, эти файлы будут соответственно называться
a.txt.local, a.txt.другое и a.txt.base и они будут помещены в один и тот же
каталог как .txt.

:неудача

Вместо того, чтобы пытаться объединить файлы, которые были изменены в обеих ветвях, он отмечает
их как нерешенные. Для разрешения этих конфликтов необходимо использовать команду разрешения.

:местный

В качестве объединенной версии использует локальную версию файлов.

: слияние

Использует внутренний неинтерактивный простой алгоритм слияния для слияния файлов. Будет
завершиться ошибкой, если есть какие-либо конфликты, и оставить маркеры в частично объединенном файле.
У маркеров будет два раздела, по одному для каждой стороны слияния.

: merge-local

Типа: объединить, но разрешить все конфликты неинтерактивно в пользу локальных
изменений.

: merge-other

Типа: объединить, но разрешить все конфликты неинтерактивно в пользу другого
изменений.

: merge3

Использует внутренний неинтерактивный простой алгоритм слияния для слияния файлов. Будет
завершиться ошибкой, если есть какие-либо конфликты, и оставить маркеры в частично объединенном файле.
Маркер будет состоять из трех разделов, по одному с каждой стороны слияния и по одному для
базовое содержание.

:Другие

Использует другую версию файлов в качестве объединенной версии.

:быстрый

Спрашивает пользователя, какую из локальных или других версий оставить в качестве объединенной
версия.

: tagmerge

Использует алгоритм слияния внутренних тегов (экспериментальный).

: union

Использует внутренний неинтерактивный простой алгоритм слияния для слияния файлов. Будет
используйте левую и правую стороны для конфликтных регионов. Маркеры не вставлены.

Внутренние инструменты всегда доступны и не требуют графического интерфейса, но по умолчанию не
обрабатывать символические ссылки или двоичные файлы.

Выбор a слияние инструментом
Mercurial использует эти правила, когда решает, какой инструмент слияния использовать:

1. Если инструмент был указан с параметром --tool для слияния или разрешения, он используется.
Если это имя инструмента в конфигурации слияния инструментов, его конфигурация
использовал. В противном случае указанный инструмент должен выполняться оболочкой.

2. Если ХГМЕРГЕ переменная окружения присутствует, ее значение используется и должно быть
исполняемый оболочкой.

3. Если имя файла, который нужно объединить, соответствует любому из шаблонов в
раздел конфигурации шаблонов слияния, первый используемый инструмент слияния, соответствующий
используется шаблон соответствия. Здесь двоичные возможности инструмента слияния отсутствуют.
считается.

4. Если установлен ui.merge, он будет рассмотрен следующим. Если значение не является именем
настроенный инструмент, указанное значение используется и должно выполняться оболочкой.
В противном случае используется названный инструмент, если он пригоден для использования.

5. Если в разделе конфигурации инструментов слияния присутствуют какие-либо используемые инструменты слияния, то один
с наивысшим приоритетом.

6. Если программа под названием слияние можно найти в системе, он используется - но он будет
по умолчанию не используется для символических ссылок и двоичных файлов.

7. Если объединяемый файл не является двоичным и не является символической ссылкой, то внутренний : слияние is
используемый.

8. Слияние файла не удается и должно быть разрешено перед фиксацией.

Примечание. После выбора программы слияния Mercurial по умолчанию попытается слить
файлы, используя сначала простой алгоритм слияния. Только если не получится из-за
конфликтующие изменения Mercurial фактически выполнит программу слияния. Стоит ли
сначала используйте простой алгоритм слияния, которым можно управлять с помощью настройки предварительного слияния
инструмент слияния. Premerge включен по умолчанию, если файл не является двоичным или
символическая ссылка.

См. Разделы об инструментах слияния и пользовательском интерфейсе hgrc(5) для получения подробной информации о конфигурации слияния
инструментов.

УКАЗАНИЕ НЕСКОЛЬКО ПЕРЕСМОТР


Если Mercurial принимает более одной ревизии, они могут быть указаны индивидуально, или
предоставляется как топологически непрерывный диапазон, разделенный знаком ":".

Синтаксис записи диапазона: [BEGIN]: [END], где BEGIN и END - номер версии.
идентификаторы. И BEGIN, и END не являются обязательными. Если BEGIN не указан, по умолчанию используется
номер версии 0. Если END не указан, по умолчанию используется наконечник. Таким образом, диапазон ":"
означает «все исправления».

Если BEGIN больше END, исправления обрабатываются в обратном порядке.

Диапазон действует как закрытый интервал. Это означает, что диапазон 3: 5 дает 3, 4 и 5.
Точно так же диапазон 9: 6 дает 9, 8, 7 и 6.

ФАЙЛОВ ИМЯ СХЕМЫ


Mercurial принимает несколько нотаций для одновременной идентификации одного или нескольких файлов.

По умолчанию Mercurial рассматривает имена файлов как расширенные шаблоны глобусов в стиле оболочки.

Обозначения альтернативных шаблонов должны быть указаны явно.

Шаблоны нот, указанные в .hgignore не укоренены. Посмотри пожалуйста hg помощь не обращать внимания для


Чтобы использовать простой путь без сопоставления с образцом, начните его с дорожка:. Этот путь
имена должны полностью совпадать, начиная с текущего корня репозитория.

Чтобы использовать расширенный глобус, начните имя с шарик:. Глобусы привязаны к текущему
каталог; шар, такой как * .c будет соответствовать только файлам в текущем каталоге, оканчивающимся на
.c.

Поддерживаемые расширения синтаксиса glob: ** для соответствия любой строке через разделители путей и
{а, б} означать "а или б".

Чтобы использовать регулярное выражение Perl / Python, начните имя с повторно:. Сопоставление с образцом регулярного выражения
закреплен в корне репозитория.

Чтобы прочитать шаблоны имен из файла, используйте файл списка: or списокфайл0:. Последний ожидает null
шаблоны с разделителями, в то время как первый ожидает перевода строки. Каждая строка, прочитанная из файла,
сам трактуется как шаблон файла.

Чтобы прочитать набор шаблонов из файла, используйте следующие: or вложить:. следующие: будет использовать все
шаблоны из данного файла и обрабатывайте их так, как если бы они были переданы вручную.
вложить: будет применять шаблоны только к файлам, которые находятся в подпрограмме subinclude
каталог файла. Видеть hg помощь не обращать внимания для получения подробной информации о формате этих файлов.

Все шаблоны, кроме шарик: указано в командной строке (не для -I or -X варианты), может
сопоставление также с каталогами: файлы в сопоставленных каталогах рассматриваются как сопоставленные.

Простые примеры:

путь: foo / bar строка имени в каталоге с именем foo в корне
репозитория
путь: путь: назовите файл или каталог с именем «путь: имя»

Примеры глобусов:

glob: *. c любое имя, заканчивающееся на ".c" в текущем каталоге
* .c любое имя, оканчивающееся на ".c" в текущем каталоге
**. c любое имя, заканчивающееся на «.c» в любом подкаталоге
текущий каталог, включая себя.
foo / *. c любое имя, заканчивающееся на ".c" в каталоге foo
foo / **. c любое имя, заканчивающееся на ".c" в любом подкаталоге foo
включая себя.

Примеры регулярных выражений:

re:. * \. c $ любое имя, заканчивающееся на ".c", в любом месте репозитория

Примеры файлов:

listfile: list.txt список чтения из list.txt с одним шаблоном файла на строку
listfile0: список чтения list.txt из list.txt с нулевыми разделителями байтов

Смотрите также hg помощь наборы файлов.

Включите примеры:

include: path / to / mypatternfile читает шаблоны, которые будут применяться ко всем путям
subinclude: path / to / subignorefile считывает шаблоны специально для путей в
подкаталог

РАБОЧИЕ ФАЗЫ


Что фазы?
Фазы - это система для отслеживания того, какие наборы изменений были или должны быть опубликованы. Этот
помогает предотвратить распространенные ошибки при изменении истории (например, с помощью mq или rebase
расширения).

Каждый набор изменений в репозитории находится в одной из следующих фаз:

· Public: набор изменений виден на общедоступном сервере

· Черновик: набор изменений еще не опубликован

· Секрет: набор изменений не следует нажимать, извлекать или клонировать

Эти этапы упорядочены (общедоступный <черновик <секретный), и никакие изменения не могут быть в нижнем
фазы, чем его предки. Например, если набор изменений является общедоступным, все его предки
также публичный. Наконец, фазы набора изменений следует изменять только в сторону публичной фазы.

Как фаз удалось?
По большей части фазы должны работать прозрачно. По умолчанию набор изменений создается в
фаза черновика и переводится в публичную фазу, когда она передается другому
репозиторий.

Как только наборы изменений станут общедоступными, такие расширения, как mq и rebase, откажутся работать с
их, чтобы предотвратить создание повторяющихся наборов изменений. Фазами также можно управлять вручную
с hg фаза команда при необходимости. Видеть hg помощь -v фаза Например.

Чтобы сделать ваши коммиты секретными по умолчанию, поместите это в свой файл конфигурации:

[фазы]
новый-коммит = секрет

Фазы и серверы
Обычно все серверы издательская по умолчанию. Это означает:

- все черновики изменений, которые были извлечены или клонированы, отображаются в фазе
паблик на клиенте

- все отправленные черновики изменений отображаются как общедоступные на обоих
клиент и сервер

- секретные наборы изменений не отправляются, не извлекаются и не клонируются

Примечание. Получение черновика набора изменений с сервера публикации не помечает его как общедоступный.
на стороне сервера из-за того, что запрос выполняется только для чтения.

Иногда может быть желательно подтолкнуть и вытащить наборы изменений на этапе черновика, чтобы поделиться
незавершенная работа. Это можно сделать, настроив репозиторий, чтобы отключить публикацию в его
конфигурационный файл:

[фазы]
опубликовать = Ложь

Увидеть hg помощь конфиг для получения дополнительной информации о файлах конфигурации.

Примечание. Серверы, на которых установлены более старые версии Mercurial, рассматриваются как публикующиеся.

Примечание. Наборы изменений в секретной фазе не обмениваются с сервером. Это касается их
содержимое: имена файлов, их содержимое и метаданные набора изменений. По техническим причинам
идентификатор (например, d825e4025e39) секретного набора изменений может быть передан в
сервер.

Примеры
· Список изменений в черновой или секретной фазе:

hg log -r "не общедоступно ()"

· Изменить все секретные ревизии на черновики:

hg phase --draft "secret ()"

· Принудительно переместить текущий набор изменений и потомков из общедоступного в черновик:

hg phase --force --draft.

· Показать список ревизий и фаз ревизии:

hg log --template "{rev} {phase} \ n"

· Повторная синхронизация черновиков ревизий относительно удаленного репозитория:

hg phase -fd "исходящий (URL)"

Увидеть hg помощь фаза для получения дополнительной информации о ручном управлении фазами.

УКАЗАНИЕ SINGLE ПЕРЕСМОТР


Mercurial поддерживает несколько способов указать отдельные ревизии.

Простое целое число рассматривается как номер редакции. Отрицательные целые числа рассматриваются как
последовательные смещения от вершины, где -1 обозначает вершину, -2 обозначает предыдущую ревизию
до кончика и так далее.

Шестнадцатеричная строка из 40 цифр рассматривается как уникальный идентификатор редакции.

Шестнадцатеричная строка длиной менее 40 символов рассматривается как уникальная версия.
идентификатор и называется сокращенным идентификатором. Краткий идентификатор - это только
действителен, если это префикс ровно одного полного идентификатора.

Любая другая строка рассматривается как имя закладки, тега или ветки. Закладка - это подвижный
указатель на ревизию. Тег - это постоянное имя, связанное с ревизией. Название филиала
обозначает самую верхнюю открытую головку этой ветви - или, если все они закрыты,
самая закрытая головка ветви. Имена закладок, тегов и веток не должны содержать
":" персонаж.

Зарезервированное имя «наконечник» всегда указывает на самую последнюю редакцию.

Зарезервированное имя «null» указывает на нулевую ревизию. Это доработка пустого
репозиторий и родительская версия 0.

Зарезервированное имя "." указывает родительский рабочий каталог. Если рабочий каталог не
проверено, это эквивалентно нулю. Если выполняется незавершенное слияние, "." это
ревизия первого родителя.

УКАЗАНИЕ ПЕРЕСМОТР НАБОРЫ


Mercurial поддерживает функциональный язык для выбора набора ревизий.

Язык поддерживает ряд предикатов, к которым добавляются инфиксные операторы.
Круглые скобки могут использоваться для группировки.

Идентификаторы, такие как имена веток, могут нуждаться в кавычках в одинарных или двойных кавычках, если они
содержать символы вроде - или если они соответствуют одному из предопределенных предикатов.

Специальные символы могут использоваться в идентификаторах в кавычках, экранируя их, например, \n is
интерпретируется как новая строка. Чтобы предотвратить их интерпретацию, строки могут иметь префиксы
r, например р'...'.

Есть единственный префиксный оператор:

x

Наборы изменений не в x. Краткая форма ! x.

Это поддерживаемые инфиксные операторы:

х :: у

Диапазон DAG, означающий все наборы изменений, которые являются потомками x и предками y,
включая сами x и y. Если первая конечная точка не указана, это эквивалентно
в предки (у), если второй опущен, он эквивалентен потомки (х).

Альтернативный синтаксис: х..у.

х: у

Все ревизии с номерами ревизий от x до y включительно. Либо
конечную точку можно не указывать, по умолчанию они равны 0 и подсказка.

x и y

Пересечение наборов изменений в x и y. Краткая форма x & y.

x or y

Объединение наборов изменений в x и y. Есть две альтернативные короткие формы: x | y
и x + y.

x - y

Наборы изменений в x, но не в y.

х ^ п

N-й родитель x, n == 0, 1 или 2. Для n == 0, x; для n == 1 первый родитель
каждого набора изменений в x; для n == 2, второй родитель ревизии в x.

х ~ п

N-й предок x; х ~ 0 это х; х ~ 3 is х ^^^.

Есть единственный постфиксный оператор:

x^

Эквивалентно х ^ 1, первый родитель каждого набора изменений в x.

Поддерживаются следующие предикаты:

добавляет (шаблон)

Наборы изменений, которые добавляют шаблон сопоставления файлов.

Шаблон без явного вида вроде шарик: ожидается, будет относиться к
текущий каталог и сопоставить с файлом или каталогом.

все()

Все ревизии такие же, как 0: подсказка.

предок (* набор изменений)

Самый общий предок наборов изменений.

Принимает 0 или более наборов изменений. Если аргументы не переданы, вернет пустой список.
Самым общим предком единственной ревизии является эта ревизия.

предки (набор)

Наборы изменений, которые являются предками набора изменений в наборе.

автор (строка)

Псевдоним для пользователь (строка).

пополам (строка)

Наборы изменений, отмеченные в указанном состоянии пополам:

· хорошо, плохой, пропускать: csets явно помечены как хорошие / плохие / пропустить

· товары, плохие : cset топологически хорошо / плохо

· ассортимент : csets участвующие в делении пополам

· подрезать : csets, которые являются товарами, плохими или пропущенными

· непроверенной : cset, судьба которых пока неизвестна

· игнорируются : csets игнорируются из-за топологии DAG

· текущий : cset в настоящее время делится пополам

закладка ([имя])

Именованная закладка или все закладки.

If имя начинается с повторно:, оставшаяся часть имени считается обычным
выражение. Чтобы сопоставить закладку, которая на самом деле начинается с повторно:используйте префикс
буквальный:.

ветка (строка or задавать)

Все ревизии, принадлежащие данной ветви или ветвям данной
ревизии.

If string начинается с повторно:, оставшаяся часть имени считается обычным
выражение. Чтобы соответствовать ветке, которая фактически начинается с повторно:используйте префикс
буквальный:.

точка ветвления ()

Наборы изменений с более чем одним дочерним элементом.

наткнулся ()

Изменяемые наборы изменений помечены как преемники общедоступных наборов изменений.

Только закрытые и не устаревшие ревизии могут быть наткнулся.

пучок()

Наборы изменений в комплекте.

Пакет должен быть указан с помощью опции -R.

дети (набор)

Дочерние ревизии в наборе.

закрыто()

Набор изменений закрыт.

содержит (шаблон)

Манифест редакции содержит шаблон сопоставления файлов (но может не изменять его).
Увидеть hg помощь паттеранами для получения информации о шаблонах файлов.

Шаблон без явного вида вроде шарик: ожидается, будет относиться к
текущий каталог и точно сопоставить с файлом для эффективности.

преобразованный ([id])

Наборы изменений, преобразованные из данного идентификатора в старый репозиторий, если он есть, или
все преобразованные ревизии, если не указан идентификатор.

дата (интервал)

Наборы изменений в пределах интервала, см. hg помощь даты.

desc (строка)

Найдите в сообщении фиксации строку. При совпадении регистр не учитывается.

потомки (множество)

Наборы изменений, которые являются потомками наборов изменений в наборе.

пункт назначения ([установить])

Наборы изменений, которые были созданы операцией пересадки, трансплантации или перебазирования, с
с учетом ревизий, указанных в качестве источника. Отсутствие необязательного набора аналогично тому, как
передача all ().

расходящиеся ()

Окончательные преемники наборов изменений с альтернативным набором окончательных преемников.

черновик()

Набор изменений на этапе черновика.

вымерший()

Только устаревшие ревизии с устаревшими потомками.

дополнительно (метка, [ценность])

Наборы изменений с указанной меткой в ​​дополнительных метаданных, с указанным необязательным
значения.

If ценностное начинается с повторно:, остаток от значения рассматривается как обычный
выражение. Чтобы соответствовать значению, которое фактически начинается с повторно:используйте префикс
буквальный:.

файл (выкройка)

Наборы изменений, затрагивающие файлы, соответствующие шаблону.

Для получения более быстрого, но менее точного результата рассмотрите возможность использования filelog () .

Этот предикат использует шарик: как тип шаблона по умолчанию.

filelog (шаблон)

Наборы изменений, связанные с указанным файловым журналом.

Из соображений производительности посещает только те версии, которые указаны в журнале файлов на уровне файлов.
вместо фильтрации по всем ревизиям (намного быстрее, но не включает
удаляет или дублирует изменения). Для более медленного и точного результата используйте файл().

Шаблон без явного вида вроде шарик: ожидается, будет относиться к
текущий каталог и точно сопоставить с файлом для эффективности.

Если какая-то ссылкаrev указывает на ревизии, отфильтрованные текущим обзором, мы будем работать
вокруг него, чтобы вернуть нефильтрованное значение.

первый (набор, [н])

Псевдоним для limit ().

следовать ([шаблон])

Псевдоним для ::. (предки первого родителя рабочего каталога). Если шаблон
указан, отслеживаются истории файлов, соответствующих заданному шаблону, в том числе
копии.

grep (регулярное выражение)

Подобно ключевое слово (строка) но принимает регулярное выражение. Использовать grep (г '...') для обеспечения особого побега
символы обрабатываются правильно. в отличие ключевое слово (строка), совпадение
с учетом регистра.

глава()

Набор изменений - это именованная голова ветки.

головы (комплект)

Члены набора без детей в наборе.

скрытый()

Скрытые ревизии.

id (строка)

Ревизия однозначно определяется данным префиксом шестнадцатеричной строки.

ключевое слово (строка)

Найдите сообщение фиксации, имя пользователя и имена измененных файлов для строки. Матч
не учитывает регистр.

последний (набор, [н])

Последние n членов набора, по умолчанию 1.

предел (установить [, п [, компенсировать]])

Первые n членов набора, по умолчанию 1, начиная со смещения.

соответствие (редакция [, поле])

Наборы изменений, в которых заданный набор полей соответствует набору полей в выбранных
редакция или набор.

Чтобы сопоставить более одного поля, передайте список полей для сопоставления, разделенных пробелами
(например автор описание).

Допустимые поля - это самые обычные поля редакции и некоторые специальные поля.

Поля регулярных ревизий описание, автор, филиал, даты, файлов, фаза,
родители, подсостояние, пользователь и Разница, Обратите внимание, что автор и пользователь являются синонимами. Разница
относится к содержанию редакции. Две ревизии, соответствующие их Разница будет также
соответствовать их файлов.

Специальные поля резюме и метаданных: резюме соответствует первой строке
описание. метаданных эквивалентно сопоставлению описание пользователь даты (т.е. это
соответствует основным полям метаданных).

метаданных это поле по умолчанию, которое используется, когда поля не указаны. Ты сможешь
соответствовать более чем одному полю за раз.

макс (набор)

Набор изменений с наивысшим номером ревизии в наборе.

объединить ()

Набор изменений - это набор изменений слияния.

мин (установить)

Набор изменений с наименьшим номером ревизии в наборе.

изменяет (шаблон)

Наборы изменений, изменяющие файлы, соответствующие шаблону.

Шаблон без явного вида вроде шарик: ожидается, будет относиться к
текущий каталог и сопоставить с файлом или каталогом.

названный (пространство имен)

Наборы изменений в заданном пространстве имен.

If Пространство имен начинается с повторно:, остаток строки рассматривается как обычный
выражение. Чтобы соответствовать пространству имен, которое фактически начинается с повторно:используйте префикс
буквальный:.

устаревший()

Изменяемый набор изменений с более новой версией.

только (установить, [набор])

Наборы изменений, которые являются предками первого набора, но не являются предками любого другого
голову в репо. Если указан второй набор, результатом будут предки
первый набор, который не является предком второго набора (т.е. :: - :: ).

происхождение ([набор])

Наборы изменений, которые были указаны в качестве источника для трансплантатов, трансплантатов или перебазов
которые создали данные ревизии. Пропуск необязательного набора - это то же самое, что и передача
все(). Если набор изменений, созданный этими операциями, сам указан как источник
для одной из этих операций только исходный набор изменений для первой операции
выбран.

исходящий ([путь])

Наборы изменений не найдены в указанном целевом репозитории или в push-режиме по умолчанию
место нахождения.

p1 ([набор])

Первый родитель ревизий в наборе или рабочий каталог.

p2 ([набор])

Второй родитель ревизий в наборе или рабочий каталог.

родители ([набор])

Набор всех родителей для всех наборов изменений в наборе или рабочий каталог.

настоящее (установить)

Пустой набор, если какая-либо ревизия в наборе не найдена; в противном случае все ревизии в комплекте.

Если какая-либо из указанных ревизий отсутствует в локальном репозитории, запрос
обычно прерывается. Но этот предикат позволяет продолжить выполнение запроса даже в таком
случаи.

общественный ()

Набор изменений в публичной фазе.

удаленный ([id [,дорожка]])

Локальная ревизия, соответствующая данному идентификатору в удаленном репозитории, если
настоящее время. Здесь '.' идентификатор - это синоним текущего локального филиала.

удаляет (узор)

Наборы изменений, которые удаляют файлы, соответствующие шаблону.

Шаблон без явного вида вроде шарик: ожидается, будет относиться к
текущий каталог и сопоставить с файлом или каталогом.

rev (число)

Ревизия с заданным числовым идентификатором.

обратный (установить)

Обратный порядок набора.

корни (набор)

Наборы изменений в наборе без родительского набора изменений в наборе.

секрет ()

Набор изменений в секретной фазе.

sort (set [, [-]ключ...])

Сортировка набора по ключам. Порядок сортировки по умолчанию - по возрастанию, укажите ключ как -ключ в
сортировать по убыванию.

Ключи могут быть:

· оборот для номера ревизии,

· филиал для названия филиала,

· по убыванию для сообщения фиксации (описание),

· пользователь для имени пользователя (автор может использоваться как псевдоним),

· даты на дату фиксации

субрепо ([шаблон])

Наборы изменений, которые добавляют, изменяют или удаляют данный субрепо. Если нет шаблона субрепо
с именем, любые изменения субрепо возвращаются.

название тэга])

Указанный тег по имени или все помеченные ревизии, если имя не указано.

If имя начинается с повторно:, оставшаяся часть имени считается обычным
выражение. Чтобы сопоставить тег, который на самом деле начинается с повторно:используйте префикс буквальный:.

нестабильный ()

Не устаревшие ревизии с устаревшими предками.

пользователь (строка)

Имя пользователя содержит строку. При совпадении регистр не учитывается.

If string начинается с повторно:, остаток строки рассматривается как обычный
выражение. Чтобы сопоставить пользователя, который на самом деле содержит повторно:используйте префикс буквальный:.

Новые предикаты (известные как «псевдонимы») могут быть определены с использованием любой комбинации существующих
предикаты или другие псевдонимы. Определение псевдонима выглядит так:

знак равно

в ревсеталиас раздел файла конфигурации Mercurial. Аргументы формы $1,
$2и т. д. подставляются из псевдонима в определение.

Например,

[ревсеталиас]
h = головы ()
d ($ 1) = sort ($ 1, дата)
rs ($ 1, $ 2) = reverse (sort ($ 1, $ 2))

определяет три псевдонима, h, dи rs. rs (0: подсказка, автор) в точности эквивалентен
reverse (sort (0: подсказка, автор)).

Инфиксный оператор ## может объединять строки и идентификаторы в одну строку. Например:

[ревсеталиас]
проблема ($ 1) = grep (r '\ bissue [:]?' ## $ 1 ## r '\ b | \ bbug \ (' ## $ 1 ## r '\)')

вопрос(1234) эквивалентна grep (г '\ bissue [ :]? 1234 \ b | \ bbug \ (1234 \) ') в этом случае. Этот
совпадает со всеми "проблема 1234", "проблема: 1234", "проблема1234" и "ошибка(1234)».

Все остальные префиксные, инфиксные и постфиксные операторы имеют более низкий приоритет, чем ##, Например, $1
## $ 2 ~ 2 эквивалентна ($ 1 ## $ 2) ~ 2.

Эквиваленты командной строки для hg журнал:

-f -> ::.
-dx -> дата (x)
-kx -> ключевое слово (x)
-m -> слияние ()
-ux -> пользователь (x)
-bx -> ветка (x)
-P х ->! :: х
-lx -> предел (expr, x)

Некоторые примеры запросов:

· Наборы изменений в ветке по умолчанию:

hg log -r "ветка (по умолчанию)"

· Наборы изменений в ветке по умолчанию, начиная с тега 1.5 (исключая слияния):

hg log -r "ветка (по умолчанию) и 1.5 :: а не слияние ()"

· Открытые филиалы:

hg log -r "голова () и не закрыто ()"

· Наборы изменений между тегами 1.3 и 1.5, в которых упоминается "ошибка", влияющая на hgext / *:

hg log -r "1.3 :: 1.5 и ключевое слово (ошибка) и файл ('hgext / *')"

· Наборы изменений, внесенные в мае 2008 г., отсортированные по пользователям:

hg log -r "sort (дата ('май 2008'), пользователь)"

· Наборы изменений, в которых упоминается «ошибка» или «проблема», которых нет в помеченном выпуске:

hg log -r "(ключевое слово (ошибка) или ключевое слово (проблема)), а не предки (тег ())"

С ПОМОЩЬЮ Ртутный от СЦЕНАРИИ И АВТОМАТИЗАЦИЯ


Машины (в отличие от людей) обычно используют Mercurial. Этот раздел справки
описывает некоторые аспекты взаимодействия машин с Mercurial.

Выбор an Интерфейс
У компьютеров есть выбор из нескольких методов взаимодействия с Mercurial. К ним относятся:

· Выполнение hg процесс

· Запросы к HTTP-серверу

· Обращение к командному серверу

проведение hg процессы очень похожи на то, как люди взаимодействуют с Mercurial в оболочке.
Это должно быть вам уже знакомо.

hg служить можно использовать для запуска сервера. По умолчанию запускается HTTP-сервер "hgweb".
Этот HTTP-сервер поддерживает машиночитаемый вывод, например JSON. Для получения дополнительной информации см. hg
помощь hgweb.

hg служить также может запустить «командный сервер». Клиенты могут подключиться к этому серверу и выпустить
Mercurial управляет специальным протоколом. Для получения дополнительной информации о командном сервере,
включая ссылки на клиентские библиотеки, см. https://mercurial.selenic.com/wiki/CommandServer.

hg служить интерфейсы на основе (hgweb и командные серверы) имеют преимущество перед простыми
hg вызовы процесса в том смысле, что они, вероятно, более эффективны. Это потому, что есть
значительные накладные расходы на порождение новых процессов Python.

Совет. Если вам нужно вызвать несколько hg процессы в короткие сроки и / или производительность
важно для вас, настоятельно рекомендуется использовать серверный интерфейс.

Окружающая среда Переменные
Как указано в hg помощь охрана окружающей среды, различные переменные среды влияют на
работа Mercurial. Следующее особенно актуально для машин, потребляющих
Меркуриал:

HGPLAIN
Если не задан, на вывод Mercurial могут повлиять параметры конфигурации, которые
влияют на его кодировку, подробный режим, локализацию и т. д.

Для компьютеров настоятельно рекомендуется устанавливать эту переменную при вызове hg
процессов.

HGENКОДИРОВАНИЕ
Если не задан, локаль, используемая Mercurial, будет обнаружена из среды. Если
определенная локаль не поддерживает отображение определенных символов, Mercurial может
некорректно отображать эти последовательности символов (часто используя "?" в качестве заполнителя
для недопустимых символов в текущей локали).

Явная установка этой переменной среды является хорошей практикой, чтобы гарантировать
стабильные результаты. «utf-8» - хороший выбор в UNIX-подобных средах.

ХГРКПАТХ
Если не установлен, Mercurial будет наследовать параметры конфигурации из файлов конфигурации, используя
процесс, описанный в hg помощь конфиг. Это включает наследование пользователя или всей системы
конфигурационные файлы.

Когда желателен максимальный контроль над конфигурацией Mercurial, значение
ХГРКПАТХ может быть установлен в явный файл с известными хорошими конфигурациями. В редких случаях
значение может быть установлено в пустой файл или нулевое устройство (часто / DEV / нуль) обойти
загрузка любых файлов конфигурации пользователя или системы. Обратите внимание, что эти подходы могут иметь
непредвиденные последствия, поскольку файлы конфигурации пользователя и системы часто определяют вещи
например, имя пользователя и расширения, которые могут потребоваться для взаимодействия с
репозиторий.

Потребление Command Результат
Обычно машинам требуется анализировать вывод команд Mercurial для соответствующих
данные. В этом разделе описаны различные методы для этого.

анализ Сырье Command Результат
Вероятно, самое простое и эффективное решение для использования вывода команд - это просто
вызывать hg команды, как пользователь, и анализировать их вывод.

Вывод многих команд можно легко проанализировать с помощью таких инструментов, как GREP, СЕПГи AWK.

Потенциальным недостатком вывода команд синтаксического анализа является то, что вывод команд может измениться.
при обновлении Mercurial. В то время как Mercurial обычно стремится к сильной обратной стороне
совместимость, вывод команд иногда меняется. Имея тесты для вашего автоматизированного
взаимодействие с hg команд обычно рекомендуется, но это еще более важно, когда
необработанный синтаксический анализ вывода команд.

. Шаблоны в Control Результат
Много hg команды поддерживают шаблонный вывод через -T / - шаблон аргумент. Для получения дополнительной информации см.
hg помощь шаблоны.

Шаблоны полезны для явного управления выводом, чтобы вы получали именно те данные.
вы хотите отформатировать так, как вы хотите. Например, журнал -T {узел} \ n можно использовать для печати
разделенный новой строкой список узлов ревизии вместо персонализированного вывода, содержащего
авторы, даты, описания и т. д.

Совет. Если синтаксический анализ необработанных выходных данных команды слишком сложен, рассмотрите возможность использования шаблонов для создания
твоя жизнь проще.

" -T / - шаблон Аргумент позволяет указать предопределенные стили. Mercurial корабли с
машиночитаемые стили JSON и XML, которые обеспечивают вывод в формате JSON и XML соответственно.
Они полезны для получения машинно-читаемых данных как есть.

Важнo
" JSON и XML стили считаются экспериментальными. Хотя они могут быть привлекательными
их поведение может измениться в
последующие версии.

Эти стили также могут давать неожиданные результаты при работе с определенными
кодировки. Mercurial рассматривает такие вещи, как имена файлов, как серию байтов и
нормализация определенных последовательностей байтов в JSON или XML с определенными настройками кодировки
может привести к сюрпризам.

Command серверу Результат
Если вы используете командный сервер для взаимодействия с Mercurial, вы, вероятно, используете существующий
библиотека / API, которая абстрагирует детали реализации командного сервера. Если да, то это
уровень интерфейса может выполнять синтаксический анализ за вас, избавляя вас от необходимости его реализации.
сам.

Результат многословие
Команды часто имеют разную степень детализации вывода, даже если используются машиночитаемые стили.
используется (например, -T JSON). Добавление -v / - подробный и --отлаживать аргументам команды может
увеличить объем данных, предоставляемых Mercurial.

Альтернативный способ получить нужные данные - явно указать шаблон.

Другой Темы
ревизии
Наборы ревизий - это функциональный язык запросов для выбора набора ревизий.
Думайте об этом как о SQL для репозиториев Mercurial. Наборы изменений полезны для запросов
репозитории для конкретных данных.

Увидеть hg помощь ревизии больше.

Share расширение
" Share расширение предоставляет функциональные возможности для обмена данными репозитория между
несколько рабочих экземпляров. Он даже может автоматически "объединять" хранилище для логически
связанные репозитории при клонировании.

Настройка Share расширение может привести к значительному использованию ресурсов
сокращение, особенно вокруг дискового пространства и сети. Это особенно верно
для сред непрерывной интеграции (CI).

Увидеть hg помощь -e Share больше.

ПОДПОЗИТОРИИ


Под репозитории можно вкладывать внешние репозитории или проекты в родительский Mercurial.
репозиторий, и заставьте команды работать с ними как с группой.

Mercurial в настоящее время поддерживает подрепозитории Mercurial, Git и Subversion.

Подхранилища состоят из трех компонентов:

1. Выписки из вложенного репозитория. Они могут появляться где угодно в родительском рабочем каталоге.

2. Ссылки на вложенные репозитории. Они определены в .hgsub, который следует поместить в
корень рабочего каталога и укажите, откуда берутся извлечения из подрепозитория.
Ссылки на подрепозитории Mercurial выглядят так:

путь / к / вложенному = https://example.com/nested/repo/path

Также поддерживаются вложенные репозитории Git и Subversion:

путь / к / вложенному = [git] git: //example.com/nested/repo/path
путь / к / вложенному = [svn] https://example.com/nested/trunk/path

в котором путь / к / вложенный расположение кассы относительно родительского корня Mercurial,
и https://example.com/nested/repo/path путь к исходному репозиторию. Источник может
также укажите путь к файловой системе.

Обратите внимание, что .hgsub не существует по умолчанию в репозиториях Mercurial, вам необходимо
создайте и добавьте его в родительский репозиторий перед использованием подхранилищ.

3. Вложенные состояния репозитория. Они определены в .hgsubstate, который помещается в корень
рабочего каталога и захватить всю информацию, необходимую для восстановления
в подрепозитории в состояние, в котором они были зафиксированы в наборе изменений родительского репозитория.
Mercurial автоматически записывает состояния вложенных репозиториев при фиксации в
родительский репозиторий.

Внимание
" .hgsubstate файл не следует редактировать вручную.

Добавление a Подхранилище
If .hgsub не существует, создайте его и добавьте в родительский репозиторий. Клонировать или оформить заказ
внешние проекты, в родительском репозитории, где вы хотите, чтобы он находился. Редактировать .hgsub и
добавьте запись в подрепозиторий, как описано выше. На данный момент субхранилище
отслеживается, и следующая фиксация запишет его состояние в .hgsubstate и привязать его к
зафиксированный набор изменений.

синхронизирующий a Подхранилище
Подложки не отслеживают автоматически последний набор изменений своих источников. Вместо этого они
обновляются до набора изменений, который соответствует набору изменений, проверенному в
набор изменений верхнего уровня. Это сделано для того, чтобы разработчики всегда получали согласованный набор совместимого кода.
и библиотеки при обновлении.

Таким образом, обновление вложенных репозиториев выполняется вручную. Просто проверьте целевое субрепо на
желаемую ревизию, протестируйте в репозитории верхнего уровня, затем зафиксируйте в родительском репозитории, чтобы
запишите новую комбинацию.

Удаление a Подхранилище
Чтобы удалить подрепозиторий из родительского репозитория, удалите ссылку на него из .hgsub,
затем удалите его файлы.

Взаимодействие ртутный Команды
add не выполняет рекурсию в подрепо, если не указано -S / - subrepos. Однако если
вы указываете полный путь к файлу в субрепо, он будет добавлен даже без
-S / - указаны подрепо. Подхранилища Subversion в настоящее время
игнорируются.

добавитьудалить
addremove не выполняет рекурсию в подрепо, если не указано -S / - subrepos.
Однако, если вы укажете полный путь к каталогу во вложенном репозитории, addremove будет
выполняться на нем даже без указания -S / - subrepos. Git и Subversion
в подрепозиториях будет выведено предупреждение и продолжено.

архив
archive не рекурсивно обрабатывается в подрепозиториях, если не указан параметр -S / - subrepos.

кошка cat в настоящее время обрабатывает только точные совпадения файлов в подрепо. Subversion
подрепозитории в настоящее время игнорируются.

совершать commit создает согласованный снимок состояния всего проекта и его
подхранилища. Если какие-либо подрепозитории были изменены, Mercurial прекратит работу.
Вместо этого можно заставить Mercurial фиксировать все измененные подрепозитории, указав
-S / - subrepos или установка "ui.commitsubrepos = True" в файле конфигурации (см. hg
помощь конфиг). После того, как больше нет измененных подрепозиториев, он записывает
их состояние и, наконец, фиксирует его в родительском репозитории. --Addremove
опция также учитывает параметр -S / - subrepos. Однако Git и Subversion
в подрепозиториях будет выведено предупреждение и будет выполнено прерывание.

Разница diff не выполняет рекурсию в подрепозиториях, если не указано -S / - subrepos. Изменения
отображается, как обычно, в элементах подрепозитория. Подхранилища Subversion
в настоящее время молча игнорируется.

файлов файлы не рекурсируются в подрепо, если не указано -S / - subrepos. Тем не мение,
если вы укажете полный путь к файлу или каталогу во вложенном репозитории, он будет
отображается даже без указания -S / - subrepos. Git и Subversion
субхранилища в настоящее время игнорируются.

забывать Забудьте, в настоящее время обрабатывает только точные совпадения файлов в подрепо. Git и Subversion
субхранилища в настоящее время игнорируются.

входящий
Входящие не рекурсируют в подрепо, если не указано -S / - subrepos. Git и
Подхранилища Subversion в настоящее время игнорируются.

исходящий
исходящие не рекурсивно повторяются в подрепо, если не указано -S / - subrepos. Git и
Подхранилища Subversion в настоящее время игнорируются.

тянуть pull не рекурсивен, так как неясно, что тянуть перед запуском hg обновление
. Перечисление и получение всех изменений подкреплений, на которые ссылается родительский
извлеченные из репозитория ревизии в лучшем случае дороги, в Subversion это невозможно.
дело.

протолкнуть. Mercurial автоматически отправит все подкрепления в первую очередь, когда родительский
репозиторий продвигается. Это обеспечивает доступность новых изменений в подрепозитории.
когда на него ссылаются репозитории верхнего уровня. Push не подходит для Subversion
подхранилища.

статус status не рекурсивно передается в подрепозитории, если не указано -S / - subrepos.
Изменения подрепозитория отображаются как обычные изменения Mercurial на
элементы подрепозитория. Подхранилища Subversion в настоящее время игнорируются.

удаление remove не выполняет рекурсию в подрепозитории, если не указано -S / - subrepos.
Однако, если вы укажете путь к файлу или каталогу во вложенном репозитории, он будет удален.
даже без -S / - подрепо. Под репозитории Git и Subversion в настоящее время
молча игнорируется.

обновление update восстанавливает подрепо в том состоянии, в котором они были изначально зафиксированы в целевом объекте.
набор изменений. Если записанный набор изменений недоступен в текущем подрепозитории,
Mercurial сначала подтянет его перед обновлением. Это означает, что обновление может
требует доступа к сети при использовании субхранилищ.

Переназначение Подхранилища Источники
Местоположение источника вспомогательного репозитория может измениться в течение жизненного цикла проекта, делая ссылки недействительными.
хранится в истории родительского репозитория. Чтобы исправить это, правила перезаписи можно определить в
родительский репозиторий hgrc файл или в конфигурации Mercurial. Увидеть [подпути] в разделе
hgrc(5) для получения более подробной информации.

ШАБЛОН ИСПОЛЬЗОВАНИЕ


Mercurial позволяет настраивать вывод команд с помощью шаблонов. Вы также можете
передать шаблон или выбрать существующий стиль шаблона из командной строки с помощью
параметр --template.

Вы можете настроить вывод для любой «похожей на журнал» команды: журнал, исходящие, входящие, подсказки,
родители и руководители.

Некоторые встроенные стили входят в пакет Mercurial. Их можно перечислить с помощью hg журнал
--шаблон список. Пример использования:

$ hg log -r1.0 :: 1.1 - шаблон журнала изменений

Шаблон - это кусок текста с разметкой для вызова расширения переменной:

$ hg log -r1 --template "{узел} \ n"
b56ce7b07c52de7d5fd79fb89701ea538af65746

Строки в фигурных скобках называются ключевыми словами. Доступность ключевых слов зависит от
точный контекст шаблонизатора. Эти ключевые слова обычно доступны для создания шаблонов
команда, похожая на журнал:

активная закладка
Нить. Активная закладка, если она связана с набором изменений

автор Нить. Неизмененный автор набора изменений.

Bisect Нить. Статус ревизии пополам.

закладки
Список строк. Любые закладки, связанные с набором изменений. Также устанавливает "активный",
имя активной закладки.

филиал Нить. Имя ветки, в которой была зафиксирована ревизия.

изменения
Целое число. Все предки не в последнем теге.

дети
Список строк. Потомки набора изменений.

даты Информация о дате. Дата, когда набор изменений был зафиксирован.

по убыванию Нить. Текст описания ревизии.

дифференциал
Нить. Статистика изменений в следующем формате: «измененные файлы:
+ добавлены / удалены строки "

экстракт Список словарных статей с ключевыми и значимыми записями поля 'extras' этой ревизии.

file_adds
Список строк. Файлы, добавленные этим набором изменений.

файлов_копий
Список строк. Файлы, скопированные в эту ревизию, вместе с их источниками.

file_copies_switch
Список строк. Как "file_copies", но отображается, только если параметр --copied установлен
комплект.

file_dels
Список строк. Файлы, удаленные этой ревизией.

file_mods
Список строк. Файлы, измененные этой ревизией.

файлов Список строк. Все файлы, измененные, добавленные или удаленные этим набором изменений.

графонод
Нить. Символ, представляющий узел набора изменений в графе ревизий ASCII

последний тег
Список строк. Глобальные теги на самом последнем глобально помеченном предке
этот набор изменений.

последний
Целое число. Самый длинный путь к последнему тегу.

Пространства имен
Диктовка списков. Имена, прикрепленные к этому набору изменений для каждого пространства имен.

узел Нить. Хэш идентификации набора изменений в виде строки из 40 шестнадцатеричных цифр.

p1узел Нить. Идентификационный хеш первого родителя ревизии в виде 40-значного
шестнадцатеричная строка. Если у набора изменений нет родителей, все цифры равны 0.

p1rev Целое число. Номер ревизии в локальном репозитории первого родителя набора изменений, или
-1, если у набора изменений нет родителей.

p2узел Нить. Идентификационный хеш второго родителя ревизии в виде 40-значного
шестнадцатеричная строка. Если у набора изменений нет второго родителя, все цифры равны 0.

p2rev Целое число. Номер ревизии в локальном репозитории второго родителя набора изменений, или
-1, если у набора изменений нет второго родителя.

родители
Список строк. Родители набора изменений в формате "rev: node". Если
ревизия имеет только одного "естественного" родителя (предыдущая ревизия).
показано на рисунке.

фаза Нить. Имя фазы набора изменений.

Phaseidx
Целое число. Индекс фазы набора изменений.

оборот Целое число. Номер редакции набора изменений в локальном репозитории.

подрепо
Список строк. Обновлены подхранилища в наборе изменений.

имеют теги Список строк. Любые теги, связанные с набором изменений.

Ключевое слово date не дает удобочитаемого вывода. Если вы хотите использовать дату в
ваш вывод, вы можете использовать фильтр для его обработки. Фильтры - это функции, возвращающие
строка на основе входной переменной. Не забудьте сначала использовать фильтр stringify, когда вы
применение строкового входного фильтра к входной переменной в виде списка. Вы также можете использовать цепочку
фильтры, чтобы получить желаемый результат:

$ hg tip --template "{date | isodate} \ n"
2008-08-21 18:22 +0000

Список фильтров:

надстройки
Любой текст. Добавить XHTML " "перед концом каждой строки, кроме последней.

возраст Дата. Возвращает удобочитаемую разницу даты / времени между заданной датой / временем и
текущая дата / время.

базовое имя
Любой текст. Обрабатывает текст как путь и возвращает последний компонент пути.
после разделения по разделителю пути (без учета конечных разделителей). Например,
«foo / bar / baz» становится «baz», а «foo / bar //» становится «bar».

считать Список или текст. Возвращает длину как целое число.

домен Любой текст. Находит первую строку, похожую на адрес электронной почты, и извлекает
просто компонент домена. Пример: Информация о пользователе <user@example.com> становится example.com.

e-mail Любой текст. Извлекает первую строку, похожую на адрес электронной почты. Пример: Информация о пользователе
<user@example.com> становится user@example.com.

пользователь электронной почты
Любой текст. Возвращает пользовательскую часть адреса электронной почты.

бежать Любой текст. Заменяет специальные символы XML / XHTML "&", "<" и ">" на XML.
сущностей и отфильтровывает символы NUL.

заполнить68 Любой текст. Переносит текст в 68 столбцов.

заполнить76 Любой текст. Переносит текст в 76 столбцов.

первая строка
Любой текст. Возвращает первую строку текста.

шестнадцатеричный Любой текст. Преобразуйте двоичный идентификатор узла Mercurial в его длинный шестнадцатеричный
представление.

хгдата Дата. Возвращает дату в виде пары чисел: «1157407993 25200» (временная метка Unix,
смещение часового пояса).

изодата
Дата. Возвращает дату в формате ISO 8601: «2009-08-18 13:00 +0200».

изодатесек
Дата. Возвращает дату в формате ISO 8601, включая секунды: «2009-08-18 13:00:13.
+0200 ". См. Также фильтр rfc3339date.

ниже Любой текст. Преобразует текст в нижний регистр.

непусто
Любой текст. Возвращает '(нет)', если строка пуста.

затемнять
Любой текст. Возвращает введенный текст, отображаемый как последовательность XML-сущностей.

человека Любой текст. Возвращает имя перед адресом электронной почты, интерпретируя его в соответствии с RFC.
5322.

реконструировать
Любой текст. Экранирует все "специальные" символы, кроме @. Прямые косые черты избегаются
дважды, чтобы веб-серверы не смогли преждевременно отключить их. Например, "@foo
bar / baz "становится" @ foo% 20bar% 252Fbaz ".

rfc3339дата
Дата. Возвращает дату в формате даты в Интернете, указанном в RFC 3339:
"2009-08-18T13:00:13+02:00".

rfc822дата
Дата. Возвращает дату в том же формате, что и в заголовках сообщений электронной почты: «Вт, 18 августа 2009 г.
13:00:13 +0200 ».

короткие Хеш набора изменений. Возвращает краткую форму хэша набора изменений, т. Е. 12 шестнадцатеричных чисел.
строка цифр.

сокращенный
Любой текст. Лечит текст как статус деления пополам и возвращает односимвольный
представляющий статус (G: хорошо, B: плохо, S: пропущено, U: непроверено, I: игнорируется).
Возвращает одиночный пробел, если текст не является допустимым статусом деления пополам.

короткий срок
Дата. Возвращает дату вроде «2006 сентября 09 г.».

Splitlines
Любой текст. Разделите текст на список строк.

стягивать
Любой тип. Превращает значение в текст, преобразовывая значения в текст и
объединяя их.

Stripdir
Считайте текст путем и, если возможно, удалите уровень каталога. Например, «фу»
и "foo / bar" становится "foo".

табидент
Любой текст. Возвращает текст с каждой непустой строкой, кроме первой, начинающейся
с символом табуляции.

верхний Любой текст. Преобразует текст в верхний регистр.

URL-адрес
Любой текст. Экранирует все "специальные" символы. Например, "foo bar" становится
"foo% 20bar".

пользователь Любой текст. Возвращает краткое представление имени пользователя или адреса электронной почты.

Обратите внимание, что фильтр - это не что иное, как вызов функции, т.е. выражение | фильтр эквивалентно
в фильтр (выражение).

Помимо фильтров, есть несколько основных встроенных функций:

дата (дата [, фмт])
Отформатируйте дату. Видеть hg помощь даты для форматирования строк. По умолчанию используется дата Unix.
формат, включая часовой пояс: «Mon Sep 04 15:13:13 2006 0700».

diff ([includepattern [, исключить шаблон]])
Показать разницу, при желании указав файлы, которые нужно включить или исключить.

fill (текст [, ширина[, initialident [, повешенный]]])
Заполните много абзацев дополнительным отступом. См. Фильтр «заливка».

получить (дикт, ключ)
Получить атрибут / ключ от объекта. Некоторые ключевые слова относятся к сложным типам. Эта функция
позволяет получить значение атрибута для этих типов.

если (выражение, тогда[, еще])
Условно выполнить на основе результата выражения.

ifcontains (поиск, вещь, тогда[, еще])
Условно выполнить в зависимости от того, находится ли элемент «поиск» в «вещи».

ifeq (expr1, выражение2, тогда[, еще])
Условно выполнить в зависимости от того, эквивалентны ли 2 элемента.

отступ (текст, indentchars [, первая строка])
Отступает все непустые строки символами, указанными в строке indentchars. An
необязательный третий параметр заменит отступ для первой строки, только если
настоящее время.

присоединиться (список, сен)
Объединяйте элементы в списке с помощью разделителя.

метка (метка, выражение)
Примените метку к сгенерированному контенту. Контент с примененным ярлыком может привести к
дополнительная постобработка, такая как автоматическая раскраска.

latesttag ([шаблон])
Глобальные теги, соответствующие заданному шаблону на самом последнем глобальном теге
предок этой ревизии.

localdate (дата [, тз])
Преобразует дату в указанный часовой пояс. По умолчанию используется местная дата.

блокнот (текст, ширина[, fillchar = ' '[, right = False]])
Заполните текст символом-заливкой.

revset (запрос [, formatargs ...])
Выполнить запрос набора ревизий. Видеть hg помощь ревсет.

rstdoc (текст, стиль)
Отформатируйте ReStructuredText.

самый короткий (узел, minlength = 4)
Получите кратчайшее представление узла.

начинается с (шаблон, текст)
Возвращает значение из аргумента "текст", если он начинается с содержимого из
«шаблонный» аргумент.

полоса (текст [, символы])
Удалите символы из строки. По умолчанию удаляет все начальные и конечные
пробел.

sub (шаблон, замена, выражение)
Выполните замену текста с помощью регулярных выражений.

слово (число, текст[, разделитель])
Вернуть n-е слово из строки.

Кроме того, для любого выражения, возвращающего список, есть оператор списка:

выражение% "{шаблон}"

Как видно из приведенного выше примера, {шаблон} интерпретируется как шаблон. Чтобы предотвратить это
при интерпретации вы можете использовать escape-символ \{ или необработанный строковый префикс, р'...'.

Некоторые образцы шаблонов командной строки:

· Списки форматов, например файлы:

$ hg log -r 0 --template "файлы: \ n {файлы% '{файл} \ n'}"

· Присоединяйтесь к списку файлов с помощью ",":

$ hg log -r 0 --template "файлы: {join (files, ',')} \ n"

· Измените каждую строку описания фиксации:

$ hg log --template "{splitlines (desc)% '**** {line} \ n'}"

· Дата формата:

$ hg log -r 0 --template "{date (date, '% Y')} \ n"

· Отображение даты в формате UTC:

$ hg log -r 0 --template "{localdate (date, 'UTC') | date} \ n"

· Выведите описание с шириной заливки 30:

$ hg log -r 0 --template "{fill (desc, 30)}"

· Используйте условие для проверки ветки по умолчанию:

$ hg log -r 0 --template "{ifeq (ветка, 'по умолчанию', 'в основной ветке',
'в ветке {ветке}')} \ n "

· Добавить новую строку, если она не пуста:

$ hg tip --template "{если (автор, '{автор} \ n')}"

· Обозначьте результат для использования с расширением цвета:

$ hg log -r 0 --template "{label ('changeset. {phase}', node | short)} \ n"

· Инвертируйте фильтр первой строки, то есть все, кроме первой строки:

$ hg log -r 0 --template "{sub (r '^. * \ n? \ n?', '', desc)} \ n"

· Отобразите содержимое «дополнительного» поля, по одному в каждой строке:

$ hg log -r 0 --template "{join (extras, '\ n')} \ n"

· Отметьте активную закладку знаком «*»:

$ hg log --template "{закладки% '{закладка} {ifeq (закладка, активна,' * ')}'} \ n"

· Найдите предыдущий тег кандидата на выпуск, расстояние и изменения с момента тега:

$ hg журнал -r. --template "{latesttag ('re: ^. * - rc $')% '{tag}, {changes}, {distance}'} \ n"

· Отметьте родительскую рабочую копию с помощью '@':

$ hg log --template "{ifcontains (rev, revset ('.'), '@')} \ n"

· Показать подробную информацию о родительских ревизиях:

$ hg log --template "{revset ('parent (% d)', rev)% '{desc | firstline} \ n'}"

· Показывать только те описания коммитов, которые начинаются с "шаблона":

$ hg log --template "{начинается с ('шаблон', первая строка (по убыванию))} \ n"

· Выведите первое слово каждой строки сообщения фиксации:

$ hg log --template "{word (0, desc)} \ n"

URL ПУТИ


Действительные URL-адреса имеют вид:

локальная / файловая система / путь [#revision]
файл: // локальная / файловая система / путь [#revision]
http://[user[:pass]@]host[:port]/[path][#revision]
https://[user[:pass]@]host[:port]/[path][#revision]
ssh: // [пользователь @] хост [: порт] / [путь] [#revision]

Пути в локальной файловой системе могут указывать на репозитории Mercurial или объединять
файлы (созданные hg пакет or hg входящий --пучок). Смотрите также hg помощь пути.

Необязательный идентификатор после # указывает конкретную ветвь, тег или набор изменений для использования.
из удаленного репозитория. Смотрите также hg помощь пересмотры.

Некоторые функции, такие как переход по URL-адресам http: // и https: //, возможны только в том случае, если
функция явно включена на удаленном сервере Mercurial.

Обратите внимание, что безопасность URL-адресов HTTPS зависит от правильной настройки web.cacerts.

Некоторые примечания об использовании SSH с Mercurial:

· SSH требует доступной учетной записи оболочки на конечном компьютере и копии hg в
удаленный путь или указанный как remotecmd.

· По умолчанию путь относительно домашнего каталога удаленного пользователя. Используйте дополнительную косую черту на
начало пути, чтобы указать абсолютный путь:

ssh: //example.com//tmp/repository

· Mercurial не использует собственное сжатие через SSH; правильнее всего настроить
это в твоем ~ / .ssh / конфигурации, например:

Хост * .mylocalnetwork.example.com
Компрессия нет
Хост *
Компрессия да

В качестве альтернативы укажите "ssh -C" в качестве команды ssh в файле конфигурации или с помощью
параметр командной строки --ssh.

Все эти URL-адреса могут быть сохранены в вашем файле конфигурации с псевдонимами пути под
[пути], например:

[пути]
псевдоним1 = URL1
псевдоним2 = URL2
...

Затем вы можете использовать псевдоним для любой команды, использующей URL-адрес (например, hg тянуть alias1
будет рассматриваться как hg тянуть URL1).

Два псевдонима пути являются особенными, потому что они используются по умолчанию, когда вы не указываете
URL-адрес команды:

по умолчанию:
Когда вы создаете репозиторий с помощью hg clone, команда clone сохраняет местоположение
исходный репозиторий в качестве пути по умолчанию для нового репозитория. Затем это используется
когда вы опускаете путь в командах типа push и pull (включая входящие и
исходящий).

по умолчанию-push:
Команда push будет искать путь с именем default-push и предпочитать его.
'default', если оба определены.

РАСШИРЕНИЯ


В этом разделе содержится справка по расширениям, которые распространяются вместе с Mercurial.
Справка по другим расширениям доступна в справочной системе.

ACL
хуки для управления доступом к репозиторию

Этот хук позволяет разрешить или запретить доступ на запись к заданным ветвям и путям
репозиторий при получении входящих ревизий через pretxnchangegroup и pretxncommit.

Авторизация сопоставляется на основе имени локального пользователя в системе, в которой выполняется перехватчик.
запускается, а не коммиттер исходной ревизии (поскольку последняя просто
познавательный).

Хук acl лучше всего использовать вместе с оболочкой с ограничениями, такой как hgsh, предотвращая
аутентификация пользователей от любых действий, кроме подталкивания или вытягивания. Крючок не
безопасно использовать, если у пользователей есть интерактивный доступ к оболочке, так как они могут затем отключить ловушку. Ни
безопасно, если удаленные пользователи разделяют учетную запись, потому что тогда нет возможности отличить
их.

Порядок выполнения проверок доступа:

1. Список запретов для филиалов (раздел acl.deny.ветки)

2. Список разрешений для филиалов (раздел acl.allow.ветки)

3. Список запретов для путей (раздел акл.запретить)

4. Список разрешений для путей (раздел аккл.разрешить)

Разделы allow и deny принимают пары ключ-значение.

На базе филиала О компании Control
Использовать acl.deny.ветки и acl.allow.ветки разделы, чтобы иметь доступ на основе ветвей
контроль. Ключи в этих разделах могут быть:

· Название филиала, или

· Звездочка, чтобы соответствовать любой ветке;

Соответствующие значения могут быть:

· Список, разделенный запятыми, содержащий пользователей и группы, или

· Звездочка, чтобы соответствовать любому;

Вы можете добавить "!" префикс к имени пользователя или группы, чтобы изменить смысл совпадения.

Путь на основе О компании Control
Использовать акл.запретить и аккл.разрешить разделы, чтобы иметь управление доступом на основе пути. Ключи в этих
секции принимают шаблон поддерева (по умолчанию с глобальным синтаксисом). Соответствующие
значения следуют тому же синтаксису, что и другие разделы выше.

Группы
Имена групп должны начинаться с префикса @ символ. Указание имени группы имеет тот же эффект
как указание всех пользователей в этой группе.

Вы можете определить членов группы в акл.групп раздел. Если название группы не определено
там, а Mercurial работает под Unix-подобной системой, список пользователей будет взят
из ОС. В противном случае возникнет исключение.

Пример Конфигурация
[крючки]

# Используйте это, если вы хотите проверить ограничения доступа во время фиксации
pretxncommit.acl = python: hgext.acl.hook

# Используйте это, если вы хотите проверить ограничения доступа для pull, push,
# собрать и подать.
pretxnchangegroup.acl = python: hgext.acl.hook

[акл]
# Разрешить или запретить доступ для входящих изменений, только если их источник
# указаны здесь, иначе пусть они пройдут. Источник «служит» для всех
# удаленный доступ (http или ssh), "push", "pull" или "bundle", когда
# связанные команды выполняются локально.
# По умолчанию: serve
источники = служить

[acl.deny.ветки]

# Всем отказано в замороженной ветке:
замороженная ветка = *

# Плохой пользователь запрещен во всех ветках:
* = плохой пользователь

[acl.allow.ветки]

# В ветку a разрешено несколько пользователей:
branch-a = пользователь-1, пользователь-2, пользователь-3

# В ветке-b разрешен только один пользователь:
branch-b = пользователь-1

# Суперпользователь может работать в любой ветке:
* = суперпользователь

# Все могут проходить ветки для тестов:
ветка для тестов = *

[acl.deny]
# Этот список проверяется в первую очередь. Если совпадение найдено, acl.allow не
# проверено. Если acl.deny отсутствует, доступ предоставляется всем пользователям.
# Формат для обоих списков: glob pattern = user, ..., @group, ...

# Чтобы соответствовать всем, используйте звездочку для пользователя:
# мой / glob / pattern = *

# user6 не будет иметь права записи ни в один файл:
** = пользователь6

# Группа "hg-denied" не будет иметь доступа на запись ни к одному файлу:
** = @ hg-denied

# Никто не сможет изменить "DONT-TOUCH-THIS.txt", несмотря на
# каждый может изменить все остальные файлы. Увидеть ниже.
src / main / resources / DONT-TOUCH-THIS.txt = *

[acl.разрешить]
# если acl.allow отсутствует, по умолчанию разрешены все пользователи
# пусто acl.allow = пользователи не разрешены

# Пользователь "doc_writer" имеет доступ на запись к любому файлу в разделе "docs"
# папка:
docs / ** = doc_writer

# Пользователь «jack» и группа «конструкторы» имеют доступ на запись к любому файлу
# в папке "images":
images / ** = jack, @designers

# Все (кроме "user6" и "@ hg-denied" - см. Acl.deny выше)
# будет иметь доступ на запись к любому файлу в папке "ресурсы"
# (кроме 1 файла. См. acl.deny):
SRC / основные / ресурсы / ** = *

.hgtags = релиз_инженер

Примеры через ! префикс
Предположим, есть ветка, на которую может нажимать только данный пользователь (или группа), и
вы не хотите ограничивать доступ к любой другой ветке, которая может быть создана.

Знак "!" префикс позволяет запретить кому-либо, кроме данного пользователя или группы, нажимать
ревизии в данной ветке или пути.

В приведенных ниже примерах мы: 1) Запретим доступ к «кольцу» ветки никому, кроме пользователя.
«голлум» 2) Запретить доступ к ветке «озеро» никому, кроме членов группы «хоббит» 3)
Запретить доступ к файлу никому, кроме пользователя gollum

[acl.allow.ветки]
# Пустой

[acl.deny.ветки]

# 1) только 'gollum' может перейти в ветку 'ring';
# 'gollum', а кто угодно еще может выполнить фиксацию в любой другой ветке.
кольцо =! Голлум

# 2) только члены группы «хоббит» могут переходить в ветку «озеро»;
# Участники 'hobbit' и все остальные могут присоединиться к любой другой ветке.
озеро =! @hobbit

# Вы также можете запретить доступ на основе путей к файлам:

[acl.разрешить]
# Пустой

[acl.deny]
# 3) только 'gollum' может изменять файл ниже;
# 'gollum' и кто угодно еще может изменить любой другой файл.
/ туманный / горы / пещера / кольцо =! голлум

черный ящик
записывать события репозитория в черный ящик для отладки

Записывает информацию о событиях в .hg / blackbox.log, чтобы помочь отладить и диагностировать проблемы. В
События, которые регистрируются, можно настроить с помощью конфигурационного ключа blackbox.track. Примеры:

[черный ящик]
трек = *

[черный ящик]
трек = команда, завершение команды, исключение команды, exthook, pythonhook

[черный ящик]
трек = входящий

[черный ящик]
# ограничить размер файла журнала
maxsize = 1.5 МБ
# повернуть до N файлов журналов, когда текущий становится слишком большим
максимальные файлы = 3

Команды
черный ящик
просмотреть последние события репозитория:

hg blackbox [ОПЦИЯ] ...

просмотреть последние события репозитория

Опции:

-л,- предел
количество отображаемых событий (по умолчанию: 10)

Bugzilla
хуки для интеграции с баг-трекером Bugzilla

Это расширение ловушки добавляет комментарии к ошибкам в Bugzilla, когда наборы изменений относятся к ошибкам.
по Bugzilla ID видны. Комментарий отформатирован с использованием механизма шаблонов Mercurial.

Ссылки на ошибки могут дополнительно включать обновление для Bugzilla о затраченных часах.
работаю над ошибкой. Ошибки также можно пометить как исправленные.

Предусмотрены три основных режима доступа к Bugzilla:

1. Доступ через интерфейс Bugzilla XMLRPC. Требуется Bugzilla 3.4 или новее.

2. Проверьте данные через интерфейс Bugzilla XMLRPC и отправьте сообщение об изменении ошибки по электронной почте на адрес
Почтовый интерфейс Bugzilla. Требуется Bugzilla 3.4 или новее.

3. Запись напрямую в базу данных Bugzilla. Только установки Bugzilla с использованием MySQL
поддерживается. Требуется Python MySQLdb.

Запись непосредственно в базу данных подвержена изменениям схемы и зависит от
Скрипт Bugzilla contrib для рассылки электронных писем с уведомлениями об изменении ошибок. Этот сценарий работает как
пользователь, работающий с Mercurial, должен быть запущен на хосте с установленной Bugzilla, и
требуется разрешение на чтение деталей конфигурации Bugzilla и необходимого пользователя MySQL
и пароль, чтобы иметь полные права доступа к базе данных Bugzilla. По этим причинам это
режим доступа теперь считается устаревшим и не будет обновляться для новой Bugzilla.
версии в будущем. В этом режиме доступа поддерживается только добавление комментариев.

Для доступа через XMLRPC необходимо указать имя пользователя и пароль Bugzilla в
конфигурация. Комментарии добавляются под этим именем пользователя. Поскольку конфигурация должна быть
доступным для чтения всем пользователям Mercurial, рекомендуется, чтобы права этого пользователя были
ограничено в Bugzilla до минимума, необходимого для добавления комментариев. Исправлены ошибки маркировки
требуется Bugzilla 4.0 и новее.

Доступ через XMLRPC / электронную почту использует XMLRPC для запроса Bugzilla, но отправляет электронную почту в Bugzilla.
интерфейс электронной почты для отправки комментариев к ошибкам. Адрес От: в электронном письме установлен на
адрес электронной почты пользователя Mercurial, поэтому комментарий, похоже, исходит от Mercurial
Пользователь. Если электронная почта пользователя Mercurial не распознается Bugzilla как
Пользователь Bugzilla, адрес электронной почты, связанный с именем пользователя Bugzilla, используемым для входа в Bugzilla.
вместо этого используется как источник комментария. Пометка исправленных ошибок работает на всех поддерживаемых
Версии Bugzilla.

Общие для всех режимов доступа элементы конфигурации:

ошибка.версия
Тип доступа, который нужно использовать. Признанные ценности:

XMLRPC

Интерфейс Bugzilla XMLRPC.

xmlrpc + электронная почта

Bugzilla XMLRPC и почтовые интерфейсы.

3.0

Доступ к MySQL, Bugzilla 3.0 и новее.

2.18

Доступ к MySQL, Bugzilla 2.18 и выше, но не включая 3.0.

2.16

Доступ к MySQL, Bugzilla 2.16 и выше, но не включая 2.18.

bugzilla.regexp
Регулярное выражение для сопоставления идентификаторов ошибок для обновления в сообщении фиксации набора изменений. Это
должен содержать одну именованную группу "()" содержащие идентификаторы ошибок, разделенные
нецифровые символы. Он также может содержать именованную группу с
число с плавающей запятой, указывающее часы, отработанные над ошибкой. Если ни одна из названных групп не
в настоящее время предполагается, что первая группа "()" содержит идентификаторы ошибок, а время работы
не обновляются. Выражение по умолчанию соответствует Ошибка 1234, Ошибка нет. 1234, Ошибка номер
1234, ошибки 1234,5678, Ошибка 1234 и 5678 и их вариации, за которыми следует
номер часов с префиксом h or часов, например часов 1.5. При сопоставлении регистр не учитывается.

bugzilla.fixregexp
Регулярное выражение для сопоставления идентификаторов ошибок для отметки исправленных в сообщении о фиксации набора изменений.
Он должен содержать именованную группу "()" ` содержащие ошибка Идентификаторы отделенный by
нецифровой символы. It май причислены содержать a названный группы `` с
число с плавающей запятой, указывающее часы, отработанные над ошибкой. Если ни одна из названных групп не
в настоящее время предполагается, что первая группа "()" содержит идентификаторы ошибок, а время работы
не обновляются. Выражение по умолчанию соответствует Исправления 1234, Исправления ошибка 1234, Исправления ошибки
1234,5678, Исправления 1234 и 5678 и их варианты, за которыми следует номер часов
с префиксом h or часов, например часов 1.5. При сопоставлении регистр не учитывается.

bugzilla.fixstatus
Статус, в который устанавливается ошибка при пометке как исправленная. Дефолт ПОСТАНОВИЛИ.

bugzilla.fixразрешение
Разрешение, на которое устанавливается ошибка при маркировке, исправлено. Дефолт FIXED.

багзилла.стиль
Файл стиля для использования при форматировании комментариев.

bugzilla.шаблон
Шаблон для использования при форматировании комментариев. Переопределяет стиль, если он указан. Кроме того
к обычным ключевым словам Mercurial расширение определяет:

{ошибка}

Идентификатор ошибки Bugzilla.

{корень}

Полный путь к репозиторию Mercurial.

{вебрут}

Удален путь к репозиторию Mercurial.

{hgweb}

Базовый URL-адрес для просмотра репозиториев Mercurial.

По умолчанию ревизия {узел | короткий} in РЕПО {корень} понимается в ошибка
{ошибка}. \ nдетали: \ n \ t {desc | tabindent}

bugzilla.strip
Количество символов-разделителей пути, которые нужно удалить с лицевой стороны Mercurial.
путь к репозиторию ({корень} в шаблонах) для создания {вебрут}, Например,
репозиторий с {корень} / var / local / мой-проект с полосой 2 дает значение для
{вебрут} of мой проект. По умолчанию 0.

веб.baseurl
Базовый URL-адрес для просмотра репозиториев Mercurial. Ссылка из шаблонов как {hgweb}.

Элементы конфигурации, общие для режимов доступа XMLRPC + email и MySQL:

bugzilla.usermap
Путь к файлу, содержащему адрес электронной почты коммиттера Mercurial и сопоставления электронной почты пользователей Bugzilla.
Если указано, файл должен содержать по одному сопоставлению на строку:

committer = пользователь Bugzilla

См. Также [карта пользователя] .

" [карта пользователя] Раздел используется для указания сопоставления электронной почты коммиттера Mercurial с Bugzilla.
электронная почта пользователя. Смотрите также bugzilla.usermap. Содержит записи формы субъект деяния = Bugzilla
пользователь.

Конфигурация режима доступа XMLRPC:

bugzilla.bzurl
Базовый URL-адрес для установки Bugzilla. Дефолт http://localhost/bugzilla.

bugzilla.user
Имя пользователя для входа в Bugzilla через XMLRPC. Дефолт ошибки.

bugzilla.пароль
Пароль для входа в Bugzilla.

В режиме доступа к электронной почте XMLRPC + используются элементы конфигурации режима доступа XMLRPC, а также:

bugzilla.bzemail
Электронный адрес Bugzilla.

Кроме того, необходимо настроить параметры электронной почты Mercurial. См. Документацию в
hgrc(5), разделы [Эл. адрес] и [SMTP].

Конфигурация режима доступа MySQL:

bugzilla.host
Имя хоста сервера MySQL, содержащего базу данных Bugzilla. Дефолт локальный.

bugzilla.db
Имя базы данных Bugzilla в MySQL. Дефолт ошибки.

bugzilla.user
Имя пользователя для доступа к серверу MySQL. Дефолт ошибки.

bugzilla.пароль
Пароль для доступа к серверу MySQL.

bugzilla.timeout
Тайм-аут подключения к базе данных (секунды). По умолчанию 5.

bugzilla.bzuser
Резервное имя пользователя Bugzilla для записи комментариев, если коммиттер набора изменений не может
быть найденным как пользователь Bugzilla.

bugzilla.bzdir
Каталог установки Bugzilla. Используется по умолчанию notify. Дефолт / var / www / html / bugzilla.

bugzilla.notify
Команда, которую нужно запустить, чтобы заставить Bugzilla отправлять электронные письма с уведомлением об изменении ошибки.
Замены с карты с 3 ключами, бздир, id (идентификатор ошибки) и пользователь (коммиттер bugzilla
электронное письмо). По умолчанию зависит от версии; начиная с версии 2.18 это "cd% (bzdir) s && perl -T
contrib / sendbugmail.pl% (id) s% (user) s ".

Активация расширения:

[расширения]
багзилла =

[крючки]
# запускаем ловушку bugzilla для каждого внесенного или отправляемого изменения
входящий.bugzilla = питон: hgext.bugzilla.hook

Примеры конфигураций:

Пример конфигурации XMLRPC. Это использует Bugzilla на http://my-project.org/bugzilla,
вход в систему как пользователь bugmail@my-project.org с паролем пахать. Он используется с
коллекция репозиториев Mercurial в / var / local / hg / repos /, с веб-интерфейсом по адресу
http://my-project.org/hg.

[багзилла]
bzurl =http://my-project.org/bugzilla
пользователь =bugmail@my-project.org
пароль = пух
версия = xmlrpc
template = Набор изменений {node | short} в {root | basename}.
{hgweb} / {webroot} / rev / {узел | короткий} \ n
{desc} \ n
полоса = 5

[Веб]
baseurl =http://my-project.org/hg

XMLRPC + пример конфигурации электронной почты. Это использует Bugzilla на
http://my-project.org/bugzilla, вход в систему как пользователь bugmail@my-project.org с паролем
пахать. Он используется с коллекцией репозиториев Mercurial в / var / local / hg / repos /,
с веб-интерфейсом на http://my-project.org/hg. Комментарии об ошибках отправляются в Bugzilla.
адрес электронной почты bugzilla@my-project.org.

[багзилла]
bzurl =http://my-project.org/bugzilla
пользователь =bugmail@my-project.org
пароль = пух
версия = xmlrpc + электронная почта
bzemail =bugzilla@my-project.org
template = Набор изменений {node | short} в {root | basename}.
{hgweb} / {webroot} / rev / {узел | короткий} \ n
{desc} \ n
полоса = 5

[Веб]
baseurl =http://my-project.org/hg

[карта пользователя]
пользователь@emaildomain.com=имя пользователя@bugzilladomain.com

Пример конфигурации MySQL. Это локальная установка Bugzilla 3.2 в
/опт/багзилла-3.2. База данных MySQL включена локальный, имя базы данных Bugzilla - ошибки
и доступ к MySQL осуществляется с помощью имени пользователя MySQL ошибки password XYZZY. Он используется с
коллекция репозиториев Mercurial в / var / local / hg / repos /, с веб-интерфейсом по адресу
http://my-project.org/hg.

[багзилла]
хост = localhost
пароль = XYZZY
версия = 3.0
bzuser =неизвестный@домен.com
bzdir = / opt / bugzilla-3.2
template = Набор изменений {node | short} в {root | basename}.
{hgweb} / {webroot} / rev / {узел | короткий} \ n
{desc} \ n
полоса = 5

[Веб]
baseurl =http://my-project.org/hg

[карта пользователя]
пользователь@emaildomain.com=имя пользователя@bugzilladomain.com

Все вышеперечисленное добавляет комментарий к записи об ошибке Bugzilla формы:

Набор изменений 3b16791d6642 в репозитории имя.
http://my-project.org/hg/repository-name/rev/3b16791d6642

Комментарий к фиксации набора изменений. Ошибка 1234.

цензор
стереть содержимое файла в данной ревизии

Команда censor предписывает Mercurial стереть все содержимое файла в данной ревизии.
без обновление ревизия хэш. Это позволяет существующей истории оставаться действительной, пока
предотвращение получения стертых данных будущими клонами / опрашиваемыми данными.

Типичное использование цензуры связано с требованиями безопасности или законодательством, в том числе:

* Пароли, приватные ключи, криптографические материалы
* Лицензионные данные / код / ​​библиотеки, для которых истек срок действия лицензии
* Информация, позволяющая установить личность, или другие личные данные

Цензурированные узлы могут прерывать типичную работу Mercurial всякий раз, когда требуются вырезанные данные.
быть материализованным. Некоторые команды, например hg кошка/hg возвращаться, просто потерпите неудачу, когда вас попросят
производить данные, подвергнутые цензуре. Другие, как hg проверить и hg обновление, должен уметь терпеть
подвергнутые цензуре данные, чтобы они продолжали функционировать осмысленно. Такие команды только терпят
цензурированные версии файла, если они разрешены параметром конфигурации "censor.policy = ignore".

Команды
цензор
hg censor -r REV [-t ТЕКСТ] [ФАЙЛ]

Опции:

-р,--rev
файл цензуры из указанной ревизии

-т,- надгробие
замена данных надгробия

chgserver
расширение командного сервера для cHg (ЭКСПЕРИМЕНТАЛЬНАЯ ЧАСТЬ)

'S' канал (читай пиши)
распространить запрос ui.system () клиенту

'атташе' команду
прикрепить клиентский stdio, переданный sendmsg ()

'чдир' команду
изменить текущий каталог

'getpager' команду
проверяет, включен ли пейджер и какой пейджер должен быть запущен

'setenv' команду
полностью заменить os.environ

'SIGHUP' сигнал
перезагрузить файлы конфигурации

дети
команда для отображения дочерних ревизий (УСТАРЕЛО)

Это расширение устарело. Вы должны использовать hg журнал -r "дети (REV)" .

Команды
дети
показать дочерние элементы данной или рабочей ревизии каталога:

hg children [-r REV] [ФАЙЛ]

Выведите дочерние элементы ревизий рабочего каталога. Если ревизия дается через
-r / - rev, будут напечатаны дочерние элементы этой ревизии. Если указан аргумент файла,
ревизия, в которой файл был изменен в последний раз (после ревизии рабочего каталога или
аргумент для --rev, если он указан) печатается.

Пожалуйста, используйте hg журнал вместо:

hg children => hg log -r 'children ()'
hg children -r REV => hg log -r 'дети (REV)'

Увидеть hg помощь журнал и hg помощь revsets.дети.

Опции:

-р,--rev
показать дочерние элементы указанной ревизии

--стиль
отображение с использованием файла карты шаблона (УСТАРЕЛО)

-Т,--шаблон
отображение с шаблоном

маслобойка
команда для отображения статистики истории репозитория

Команды
маслобойка
гистограмма изменений в репозитории:

hg churn [-d ДАТА] [-r REV] [--aliases ФАЙЛ] [ФАЙЛ]

Эта команда отобразит гистограмму, представляющую количество измененных строк или
ревизии, сгруппированные по заданному шаблону. Шаблон по умолчанию сгруппирует
изменения по автору. Параметр --dateformat может использоваться для группировки результатов по дате.
.

Статистика основана на количестве измененных строк или, альтернативно, на количестве
соответствующие ревизии, если указана опция --changesets.

Примеры:

# отображать количество измененных строк для каждого коммиттера
hg churn -t "{автор | электронная почта}"

# отображать график ежедневной активности
hg churn -f "% H" -s -c

# отображать активность разработчиков по месяцам
hg churn -f "% Y-% m" -s -c

# отображать количество строк, изменяемых каждый год
hg churn -f "% Y" -s

Можно сопоставить альтернативные адреса электронной почты с основным адресом, предоставив файл
используя следующий формат:

знак равно

Такой файл можно указать с помощью опции --aliases, в противном случае файл .hgchurn будет
искал в корне рабочего каталога. Псевдонимы будут отделены от крайнего правого знака «=».

Опции:

-р,--rev
скорость счета для указанной ревизии или ревизии

-д,--свидание
скорость счета ревизий, соответствующих спецификации даты

-т,--oldtemplate
шаблон для группировки ревизий (УСТАРЕВШИЙ)

-Т,--шаблон
шаблон для группировки ревизий (по умолчанию: {author | email})

-ф,--Формат даты
strftime-совместимый формат для группировки по дате

-с, --changesets
скорость счета по количеству ревизий

-с, --Сортировать
сортировать по ключу (по умолчанию: сортировать по количеству)

--diffstat
отображать добавленные / удаленные строки отдельно

--ализы
файл с псевдонимами электронной почты

-Я,--включают
включать имена, соответствующие заданным шаблонам

-ИКС,--исключать
исключить имена, соответствующие заданным шаблонам

[+] отмеченный вариант можно указывать несколько раз

клоны
рекламировать предварительно сгенерированные пакеты для семенных клонов

clonebundles - это серверное расширение, используемое для рекламы существования
предварительно сгенерированные, размещенные на внешнем сервере файлы пакетов для клиентов, которые клонируют, так что клонирование
может быть быстрее, надежнее и требует меньше ресурсов на сервере.

Клонирование может потребовать интенсивных операций с ЦП и операциями ввода-вывода на серверах. Традиционно сервер в
ответ на запрос клиента на клонирование, динамически генерирует пакет, содержащий
все содержимое репозитория и отправляет его клиенту. На сервере нет кеширования
и серверу придется с избыточностью генерировать тот же исходящий пакет в ответ на
каждый запрос клонирования. Для серверов с большими репозиториями или с большим объемом клонирования
нагрузка от клонов может сделать масштабирование сервера сложным и дорогостоящим.

Это расширение предоставляет операторам серверов возможность разгрузить потенциально дорогостоящие
клонировать загрузку во внешнюю службу. Вот как это работает.

1. Оператор сервера устанавливает механизм для предоставления файлов пакета, доступного на
служба хостинга, на которой клиенты Mercurial могут их получить.

2. Файл манифеста, в котором перечислены доступные URL-адреса пакетов, и некоторые дополнительные метаданные добавляются в
Репозиторий Mercurial на сервере.

3. Клиент инициирует клонирование на сервере, поддерживающем связки клонов.

4. Клиент видит, что сервер рекламирует пакеты клонов, и получает манифест.
список доступных пакетов.

5. Клиент фильтрует и сортирует доступные пакеты в зависимости от того, что он поддерживает и
предпочитает.

6. Клиент загружает и применяет доступный пакет с указанного сервера URL.

7. Клиент повторно подключается к исходному серверу и выполняет эквивалент hg тянуть в
получить все данные репозитория, не входящие в комплект. (Репозиторий мог быть обновлен
между моментом создания пакета и моментом, когда клиент запустил клон.)

Вместо того, чтобы сервер генерировал полные пакеты репозитория для каждого запроса клонирования, он
один раз генерирует полные пакеты, которые впоследствии повторно используются для загрузки новых клонов. В
сервер все еще может передавать данные во время клонирования. Однако это только данные, которые были
добавлено / изменено с момента создания пакета. Для крупных репозиториев это может
снизить нагрузку на сервер для клонов до менее 1% от исходной.

Для работы этому расширению требуются следующие операторы сервера:

· Создание файлов пакетов содержимого репозитория (обычно периодически, например, один раз за
день).

· Файловый сервер, к которому у клиентов есть доступ к сети и с которым Python умеет разговаривать.
через обычное средство обработки URL-адресов (обычно это HTTP-сервер).

· Процесс синхронизации манифеста пакетов с доступными файлами пакетов.

Строго говоря, использование статического файлового хостинга не требуется: оператор сервера
может использовать динамический сервис для получения данных пакета. Однако статический файловый хостинг
сервисы просты и масштабируемы, и их должно хватить для большинства нужд.

Файлы пакета можно сгенерировать с помощью hg пакет команда. Обычно hg пакет --все is
используется для создания связки всего репозитория.

hg debugcreatestreamclonebundle можно использовать для изготовления специальных потоковый клонировать пакет.
Это файлы пакетов, которые чрезвычайно эффективно создавать и использовать (читай: быстро).
Однако они больше, чем традиционные форматы пакетов, и требуют, чтобы клиенты поддерживали
точный набор форматов хранилищ данных репозитория, используемых репозиторием, который их создал.
Как правило, новый сервер может обслуживать данные, совместимые со старыми клиентами. Тем не мение,
потоковый клонировать пучки нет этой гарантии. серверу Операторы в be знать который
более новый версии of ртутный май производит потоковый клонировать пучки несовместимый старший
ртутный версий.

Оператор сервера несет ответственность за создание .hg / clonebundles.manifest файл, содержащий
список доступных файлов пакета, подходящих для раздачи клонов. Если этот файл не
существует, репозиторий не будет объявлять о существовании пакетов клонов, когда клиенты
подключения.

Файл манифеста содержит список записей, разделенных символом новой строки ().

Каждая строка в этом файле определяет доступный пакет. Строки имеют формат:

[ знак равно [ знак равно ]]

То есть за URL-адресом следует необязательный, разделенный пробелами список пар ключ = значение, описывающих
дополнительные свойства этого пакета. И ключи, и значения закодированы в URI.

Ключи в ЗАГЛАВНОМ РЕГИСТРЕ зарезервированы для использования Mercurial и определены ниже. Все
При установке сайта могут использоваться не заглавные буквы. Пример использования настраиваемых свойств
это использовать центр обработки данных , чтобы определить, в каком центре обработки данных размещен файл.
Тогда клиенты могут предпочесть сервер в ближайшем к ним центре обработки данных.

В настоящее время определены следующие зарезервированные ключи:

ПАКЕТ
Строка «спецификации пакета», описывающая тип пакета.

Это строковые значения, которые принимаются аргументом "--type" функции hg пакет.

Значения анализируются в строгом режиме, что означает, что они должны быть
" - "форма. Подробнее см. mercurial.exchange.parsebundlespec ()


hg отладочный пакет --spec может использоваться для печати строки спецификации пакета для
файл пакета. Вывод этой команды может использоваться дословно для значения
ПАКЕТ (он уже сбежал).

Клиенты автоматически отфильтровывают спецификации, которые неизвестны или
не поддерживается, поэтому они не будут пытаться загрузить что-то, что, скорее всего, не будет применяться.

Фактическое значение не влияет на поведение клиента, кроме фильтрации: клиенты будут
по-прежнему обнюхивать тип пакета из заголовка загруженных файлов.

Используйте of этой ключ is очень Управление по борьбе с наркотиками (DEA), так как это позволяет клиентам легко пропустить
неподдерживаемые пакеты. Если этот ключ не определен, старый клиент может попытаться применить
связка, которую он не может прочитать.

ТРЕБОВАНИЯ
Требуется ли указание имени сервера (SNI) для подключения к URL-адресу. SNI позволяет
серверы для использования нескольких сертификатов на одном IP. Это довольно часто встречается в CDN.
и другие хостинг-провайдеры. Старые версии Python не поддерживают SNI. Определение
этот атрибут позволяет клиентам со старыми версиями Python фильтровать эту запись
без непрозрачного сбоя SSL во время подключения.

Если это определено, важно рекламировать резервный URL-адрес или клиентов, не относящихся к SNI.
запущенные старые выпуски Python могут быть недоступны для клонирования с помощью clonebundles
центр.

Значение должно быть «истинным».

Манифесты могут содержать несколько записей. Если метаданные определены, клиенты будут фильтровать
записи из манифеста, которые они не поддерживают. Остальные записи необязательно
отсортировано по предпочтениям клиента (экспериментальный.clonebundleprefers вариант конфигурации). Клиент
затем пытается получить пакет по первому URL-адресу в оставшемся списке.

ошибки когда загрузка a пакет предусматривает неудача весь клонировать операция: клиентов do
автоматически падать назад в a традиционный клона. Причина в том, что если сервер
используя пакеты клонирования, вероятно, он делает это, потому что функция необходима, чтобы помочь ему
масштаб. Другими словами, есть предположение, что загрузка клона будет выгружена на другой
service и что сервер Mercurial не несет ответственности за обслуживание этой клонированной нагрузки. Если
что у другого сервиса возникают проблемы, и клиенты начинают массово возвращаться к исходному
Сервер Mercurial, добавленная нагрузка клона может перегрузить сервер из-за неожиданной нагрузки.
и эффективно перевести его в автономный режим. Отсутствие автоматического возврата клиентов к клонированию
от исходного сервера смягчает этот сценарий.

Потому что нет автоматического отката сервера Mercurial при отказе хостинга пакета
сервису, для операторов серверов важно рассматривать пакетный хостинг как
расширение сервера Mercurial с точки зрения соглашений о доступности и уровне обслуживания:
если услуга пакетного хостинга выйдет из строя, то уменьшится и возможность клонирования клиентов. Примечание:
клиенты увидят сообщение, информирующее их, как обойти средство клонирования пакетов, когда
происходит сбой. Поэтому операторы серверов должны подготовиться к тому, что некоторые люди будут следовать этим
инструкции при возникновении сбоя, что приводит к увеличению нагрузки на оригинальный Mercurial.
сервер при отказе службы пакетного хостинга.

цвет
раскрасить вывод некоторых команд

Расширение цвета раскрашивает вывод нескольких команд Mercurial. Например,
Команда diff показывает добавления зеленым, а удаления - красным, а команда status показывает
измененные файлы в пурпурном цвете. Многие другие команды имеют аналогичные цвета. Возможно
настроить эти цвета.

Эффекты
Помимо цвета, доступны и другие эффекты, например полужирный и подчеркнутый текст. От
по умолчанию база данных terminfo используется для поиска кодов клемм, используемых для изменения цвета и
эффект. Если terminfo недоступен, эффекты отображаются с помощью ECMA-48 SGR.
функция управления (также известная как escape-коды ANSI).

Доступные эффекты в режиме terminfo: мигание, полужирный, тусклый, инверсный, невидимый,
«курсив», «выделение» и «подчеркивание»; в режиме ECMA-48 параметры выделены жирным, инвертированным,
«курсив» и «подчеркивание». То, как каждый из них отображается, зависит от эмулятора терминала. Немного
могут быть недоступны для данного типа терминала и будут автоматически игнорироваться.

Метки
Текст получает цветовые эффекты в зависимости от имеющихся у него меток. Многие по умолчанию Mercurial
команды выдают помеченный текст. Вы также можете определять свои собственные метки в шаблонах, используя
функция метки, см. hg помощь шаблоны. В одной части текста может быть более одного
метка. В этом случае эффекты, присвоенные последней метке, будут иметь приоритет над любыми другими эффектами. Этот
включает специальный эффект «нет», который сводит на нет другие эффекты.

Ярлыки обычно невидимы. Чтобы увидеть эти метки и их положение в
text используйте глобальную опцию --color = debug. Тот же текст привязки может быть связан с
несколько ярлыков, например

[log.changeset changeset.secret|changeset: 22611:6f0a53c8f587]

Ниже приведены эффекты по умолчанию для некоторых меток по умолчанию. Эффекты по умолчанию могут быть
переопределено из вашего файла конфигурации:

[цвет]
status.modified = синий жирный подчеркивание red_background
status.added = зеленый полужирный
status.removed = красный полужирный blue_background
status.deleted = голубое жирное подчеркивание
status.unknown = полужирное подчеркивание пурпурным шрифтом
status.ignored = черный полужирный

# none выключает все эффекты
статус.чистый = нет
status.copied = нет

qseries.applied = синее жирное подчеркивание
qseries.unapplied = жирный черный
qseries.missing = жирный красный

diff.diffline = жирный
diff.extended = голубой жирный
diff.file_a = жирный красный
diff.file_b = зеленый полужирный
diff.hunk = пурпурный
diff.deleted = красный
diff.inserted = зеленый
diff.changed = белый
разн.вкладка =
diff.trailingwhitespace = жирный шрифт red_background

# Пусто, поэтому он наследует стиль окружающей метки
набор изменений.public =
набор изменений.draft =
набор изменений.секрет =

resolve.unresolved = жирный красный
resolve.resolved = зеленый жирный

bookmarks.active = зеленый

Branch.active = none
branch.closed = черный полужирный
branch.current = зеленый
branch.inactive = none

tags.normal = зеленый
tags.local = черный полужирный

rebase.rebased = синий
rebase.remaining = жирный красный

shelve.age = голубой
shelve.newest = зеленый жирный
shelve.name = жирный синий

histedit.remaining = жирный красный

На заказ цвета
Поскольку существует только восемь стандартных цветов, этот модуль позволяет вам определять названия цветов.
для других цветовых слотов, которые могут быть доступны для вашего типа терминала, при условии, что terminfo
режим. Например:

цвет.ярко-синий = 12
цвет.розовый = 207
цвет.оранжевый = 202

установить "ярко-синий" для цветового слота 12 (полезно для 16 цветных терминалов, которые имеют более яркий
цвета, определенные в верхних восьми) и, 'розовый' и 'оранжевый' для цветов в 256-цветных xterm's
цветной куб по умолчанию. Эти определенные цвета могут затем использоваться как любые из заранее определенных
восемь, включая добавление _background для установки фона этого цвета.

Режимы
По умолчанию расширение цвета будет использовать режим ANSI (или режим win32 в Windows), если он
обнаруживает терминал. Чтобы переопределить автоматический режим (например, чтобы включить режим terminfo), установите
следующий вариант конфигурации:

[цвет]
режим = terminfo

Любое значение, кроме ansi, win32, terminfo или auto, отключит цвет.

Обратите внимание, что в некоторых системах режим terminfo может вызвать проблемы при использовании цвета с
расширение пейджера и меньше -R. меньше с параметром -R будет отображать только цвет ECMA-48
коды, и режим terminfo может иногда выдавать коды, которые не понимает less. Ты сможешь
обойти это можно либо с помощью режима ansi (или автоматического режима), либо с помощью параметра less -r (что будет
пройти через все коды управления терминалом, а не только коды управления цветом).

В некоторых системах (например, MSYS в Windows) терминал может поддерживать другой цветовой режим.
чем пейджер (активируется через расширение "пейджер"). Можно выделить отдельные
режимы в зависимости от того, активен ли пейджер:

[цвет]
режим = авто
пейджермод = анси

If режим пейджера не определено, Режим будет использоваться.

Команды
конвертировать
импортировать ревизии из чужих репозиториев VCS в Mercurial

Команды
конвертировать
преобразовать сторонний репозиторий SCM в репозиторий Mercurial .:

hg convert [OPTION] ... ИСТОЧНИК [DEST [REVMAP]]

Допустимые исходные форматы [идентификаторы]:

· Ртутный [hg]

· CVS [резюме]

· Darcs [дарки]

· Git [git]

· Подрывная деятельность [svn]

· Монотонный [mtn]

· Арка GNU [gnuarch]

· Базар [bzr]

· Принуждение [p4]

Допустимые форматы назначения [идентификаторы]:

· Ртутный [hg]

· Subversion [svn] (история по веткам не сохраняется)

Если ревизия не указана, все ревизии будут преобразованы. В противном случае преобразование будет только
импортировать до указанной ревизии (в формате, понятном источнику).

Если имя целевого каталога не указано, по умолчанию используется базовое имя источника.
-хг добавлено. Если целевой репозиторий не существует, он будет создан.

По умолчанию все источники, кроме Mercurial, будут использовать --branchsort. Mercurial использует
--sourcesort, чтобы сохранить исходный порядок номеров ревизий. Режимы сортировки имеют следующие
эффекты:

- сортировка веток
конвертировать из родительской в ​​дочернюю ревизию, когда это возможно, что означает, что ветви
обычно конвертируются один за другим. Он создает более компактные репозитории.

--datesort
отсортировать редакции по дате. В преобразованных репозиториях есть красивые журналы изменений, но они
часто на порядок больше, чем те, которые генерируются --branchsort.

--sourcesort
постарайтесь сохранить порядок ревизий исходного кода, поддерживаемый только исходными кодами Mercurial.

--closesort
старайтесь переместить закрытые ревизии как можно ближе к родительским веткам, только
поддерживается источниками Mercurial.

If РЕВМАП не указан, он будет помещен в местоположение по умолчанию (/.hg/shamap by
дефолт). В РЕВМАП представляет собой простой текстовый файл, который сопоставляет каждый идентификатор исходной фиксации с
идентификатор назначения для этой ревизии, например:



Если файл не существует, он создается автоматически. Он обновляется при каждой скопированной фиксации,
so hg конвертировать может быть прерван и может быть запущен повторно для копирования новых коммитов.

Карта авторизации - это простой текстовый файл, который сопоставляет каждого автора исходной фиксации с местом назначения.
совершить автор. Это удобно для исходных SCM, которые используют логины unix для идентификации авторов (например:
CVS). Одна строка на сопоставление автора и формат строки:

исходный автор = целевой автор

Пустые строки и строки, начинающиеся с # игнорируются.

Карта файлов - это файл, который позволяет фильтровать и переназначать файлы и каталоги. Каждый
строка может содержать одну из следующих директив:

включить путь / к / файлу или директории

исключить путь / к / файлу или директории

переименовать путь / в / исходный путь / в / пункт назначения

Строки комментариев начинаются с #. Указанный путь совпадает, если он равен полному относительному имени
файла или одного из его родительских каталогов. В включают or исключать директива с
Применяется самый длинный совпадающий путь, поэтому порядок строк не имеет значения.

" включают директива приводит к включению файла или всех файлов в каталоге в
целевой репозиторий. По умолчанию, если нет включают заявления должны включать
все. Если есть включают заявления, больше ничего не включено. В исключать
Директива заставляет пропускать файлы или каталоги. В переименовать директива переименовывает файл
или каталог, если он преобразован. Чтобы переименовать подкаталог в корень
репозиторий, используйте . как путь для переименования.

--полный убедитесь, что преобразованные ревизии содержат именно те файлы с
правильный контент. Он выполнит полное преобразование всех файлов, а не только тех, которые имеют
измененный. Файлы, которые уже являются правильными, не будут изменены. Это можно использовать для применения
filemap изменяется при постепенном преобразовании. В настоящее время это поддерживается только для
Mercurial и Subversion.

Карта сращивания - это файл, который позволяет вставлять синтетическую историю, позволяя вам указать
родители ревизии. Это полезно, если вы хотите, например, дать Subversion слияние двух
родителей, или соедините вместе две разрозненные серии истории. Каждая запись содержит ключ,
за которым следует пробел, за которым следуют одно или два значения, разделенных запятыми:

ключ parent1, parent2

Ключ - это идентификатор ревизии в исходной системе контроля версий, чьи родители должны быть
изменен (тот же формат, что и ключ в .hg / shamap). Значения представляют собой идентификаторы ревизий (в любом
исходную или целевую систему контроля версий), которые должны использоваться в качестве новых родительских
для этого узла. Например, если вы объединили "release-1.0" в "trunk", вам следует
укажите ревизию в «стволе» в качестве первого родителя, а ревизию в «выпуск-1.0»
ветка как вторая.

Карта веток - это файл, который позволяет вам переименовывать ветку при ее добавлении.
из любого внешнего репозитория. При использовании вместе с картой сращивания он позволяет
для мощной комбинации, которая поможет исправить даже самые плохо управляемые репозитории и
превратите их в хорошо структурированные репозитории Mercurial. Карта ветвления содержит строки
форма:

исходное_имя_отрасли новое_имя_отрасли

где "original_branch_name" - это имя ветки в исходном репозитории, а
«new_branch_name» - это имя ветки, являющейся целевым репозиторием. Без пробелов
допускается в названиях веток. Это можно использовать (например) для перемещения кода в один
репозиторий из "по умолчанию" в именованную ветку.

ртутный Источник
Источник Mercurial распознает следующие параметры конфигурации, которые вы можете установить на
командная строка с --config:

Convert.hg.ignoreerrors
игнорировать ошибки целостности при чтении. Используйте его для исправления репозиториев Mercurial с помощью
отсутствующие журналы изменений путем преобразования из Mercurial и в него. По умолчанию - False.

Convert.hg.saverev
сохранить исходный идентификатор ревизии в наборе изменений (принудительно изменить целевые идентификаторы). Требуется
логический аргумент и по умолчанию False.

Convert.hg.startrev
укажите начальную ревизию Mercurial. По умолчанию - 0.

Convert.hg.revs
revset, указывающий исходные ревизии для преобразования.

CVS Источник
Исходный код CVS будет использовать изолированную программную среду (т. Е. Извлеченную копию) из CVS, чтобы указать начальный
точка того, что будет преобразовано. Прямой доступ к файлам репозитория не нужен,
если, конечно, репозиторий не :местный:. Преобразование использует каталог верхнего уровня в
песочнице, чтобы найти репозиторий CVS, а затем использует команды CVS rlog для поиска файлов для
конвертировать. Это означает, что, если не указана карта файлов, все файлы в начальном каталоге
будут преобразованы, и что любая реорганизация каталогов в изолированной программной среде CVS игнорируется.

Следующие параметры можно использовать с --config:

Convert.cvsps.cache
Установите значение False, чтобы отключить удаленное кэширование журналов для целей тестирования и отладки.
По умолчанию True.

Convert.cvsps.fuzz
Укажите максимальное время (в секундах) между фиксациями с помощью
идентичное сообщение пользователя и журнала в одном наборе изменений. Когда очень большие файлы были
отмечен как часть набора изменений, то значение по умолчанию может быть недостаточно длинным. В
по умолчанию - 60.

Convert.cvsps.mergeto
Укажите регулярное выражение, которому сопоставляются сообщения журнала фиксации. Если совпадение
происходит, то процесс преобразования вставит фиктивную ревизию, объединяющую ветку
в котором это сообщение журнала происходит в ветке, указанной в регулярном выражении. По умолчанию
{{объединитьветку ([- \ w] +)}}

Convert.cvsps.mergefrom
Укажите регулярное выражение, которому сопоставляются сообщения журнала фиксации. Если совпадение
происходит, то процесс преобразования добавит самую последнюю ревизию в ветку
указывается в регулярном выражении как второй родительский элемент набора изменений. По умолчанию
{{объединить из ветки ([- \ w] +)}}

Convert.localtimezone
использовать местное время (как определено переменной среды TZ) для набора изменений
дата / время. Значение по умолчанию - False (используйте UTC).

хуки.cvslog
Укажите функцию Python, которая будет вызываться в конце сбора журнала CVS. В
функция передает список с записями журнала и может изменять записи
на месте, а также добавить или удалить их.

хуки.cvschangesets
Укажите функцию Python, которая будет вызываться после того, как наборы изменений будут вычислены из
Журнал CVS. В функцию передается список с записями набора изменений, и она может изменять
изменения на месте, а также добавить или удалить их.

Дополнительная команда Mercurial "debugcvsps" позволяет встроенному коду слияния набора изменений
запускаться без преобразования. Его параметры и вывод аналогичны параметрам cvsps.
2.1. Дополнительные сведения см. В справке по командам.

Подрывная деятельность Источник
Исходный код Subversion обнаруживает классические макеты ствола / веток / тегов. По умолчанию прилагаемый
svn: // репо / путь / исходный URL-адрес преобразуется как отдельная ветвь. Если svn: // репо / путь / ствол
существует, он заменяет ветку по умолчанию. Если svn: // репо / путь / ветки существует, его
подкаталоги перечислены как возможные ветви. Если svn: // репо / путь / теги существует, это
искал теги, ссылающиеся на преобразованные ветки. Дефолт ствол, ветви и имеют теги ценности
можно переопределить следующими параметрами. Задайте для них пути относительно исходного URL-адреса или
оставьте их пустыми, чтобы отключить автоматическое определение.

Следующие параметры могут быть установлены с помощью --config:

convert.svn.ветки
укажите каталог, содержащий ветки. По умолчанию ветви.

Convert.svn.tags
укажите каталог, содержащий теги. По умолчанию имеют теги.

Convert.svn.trunk
укажите название магистральной ветви. По умолчанию ствол.

Convert.localtimezone
использовать местное время (как определено переменной среды TZ) для набора изменений
дата / время. Значение по умолчанию - False (используйте UTC).

Историю источников можно получить, начиная с конкретной ревизии, а не
интегрально преобразован. Поддерживаются только преобразования с одной ветвью.

Convert.svn.startrev
укажите начальный номер ревизии Subversion. По умолчанию - 0.

идти Источник
Импортер Git конвертирует коммиты из всех доступных ветвей (ссылки в refs / head) и
Remote (ссылки в refs / remotes) на Mercurial. Филиалы конвертируются в закладки с
то же имя, с удаленными ведущими "refs / Heads". Подмодули Git конвертируются в Git
подрепо в Mercurial.

Следующие параметры могут быть установлены с помощью --config:

convert.git.подобие
укажите, как похожие файлы, измененные при фиксации, должны быть импортированы как переименованные или
копий, в процентах между 0 (отключен) и 100 (файлы должны быть идентичными). За
пример, 90 означает, что пара удаления / добавления будет импортирована как переименованная, если больше, чем
90% файла не изменилось. По умолчанию 50.

Convert.git.findcopiesharder
при обнаружении копий просматривайте все файлы в рабочей копии, а не просто
поменял. Это очень дорого для крупных проектов и эффективно только тогда, когда
convert.git.подобие больше 0. Значение по умолчанию - False.

Convert.git.remoteprefix
удаленные ссылки преобразуются в закладки с Convert.git.remoteprefix как префикс
следует /. По умолчанию - «удаленный».

Convert.git.skipsubmodules
не конвертирует файлы .gitmodules корневого уровня или файлы с режимом 160000 с указанием
подмодуль. По умолчанию - False.

насильственный Источник
Импортеру Perforce (P4) можно указать путь к хранилищу p4 или спецификацию клиента как
источник. Он преобразует все файлы в источнике в плоский репозиторий Mercurial, игнорируя
лейблы, филиалы и интеграции. Обратите внимание, что когда вам дается путь депо, то обычно
следует указать целевой каталог, потому что в противном случае цель может быть названа ...- рт..

Следующие параметры могут быть установлены с помощью --config:

конвертировать.p4.encoding
укажите кодировку для использования при декодировании стандартного вывода команды Perforce
инструмент линии. По умолчанию используется системная кодировка по умолчанию.

Convert.p4.startrev
укажите начальную ревизию Perforce (номер списка изменений Perforce).

ртутный Направление
Пункт назначения Mercurial распознает субхранилища Mercurial в месте назначения.
каталог и автоматически обновите файл .hgsubstate, если место назначения
субхранилища содержат / /.hg/shamap файл. Конвертация репозитория с
субхранилища требует преобразования одного репозитория за раз, снизу вверх.

Пример, показывающий, как преобразовать репозиторий с подрепозиториями:

# поэтому convert знает тип, когда видит непустой пункт назначения
$ hg init сконвертирован

$ hg convert orig / sub1 преобразовано / sub1
$ hg convert orig / sub2 преобразовано / sub2
$ hg сконвертировано в ориг.

Поддерживаются следующие варианты:

convert.hg.clonebranchs
отправляйте исходные ветки в отдельные клоны. По умолчанию - False.

convert.hg.tagsветка
имя ветки для версий тега, по умолчанию по умолчанию.

Convert.hg.usebranchnames
сохранить названия веток. По умолчанию установлено True.

convert.hg.имя источника
записывает данную строку как дополнительное значение convert_source для каждой фиксации, сделанной в
целевой репозиторий. По умолчанию - Нет.

Все Направления
Все типы мест назначения допускают следующие варианты:

конвертировать.skiptags
не конвертирует теги из исходного репо в целевое репо. По умолчанию
Ложь.

Опции:

--авторы
имя файла сопоставления имени файла (УСТАРЕЛО) (используйте вместо этого --authormap)

-с,--Тип источника
тип исходного репозитория

-д,- самый тип
тип целевого репозитория

-р,--rev
импортировать до исходной ревизии REV

-А,- авторская карта
переназначить имена пользователей с помощью этого файла

--filemap
переназначить имена файлов, используя содержимое файла

--полный применить изменения карты файлов путем повторного преобразования всех файлов

--splicemap
вставить синтезированную историю на место

- ветка
изменить названия веток при конвертации

- сортировка веток
попробуйте отсортировать изменения по веткам

--datesort
попробуйте отсортировать наборы изменений по дате

--sourcesort
сохранить порядок изменений исходного кода

--closesort
попробуйте изменить порядок закрытых ревизий

[+] отмеченный вариант можно указывать несколько раз

эол
автоматически управлять новой строкой в ​​файлах репозитория

Это расширение позволяет управлять типом окончаний строк (CRLF или LF), которые используются в
репозиторий и в локальном рабочем каталоге. Таким образом вы можете получить окончания строк CRLF
в Windows и LF в Unix / Mac, что позволяет всем использовать окончания строк в своей ОС.

Расширение считывает свою конфигурацию из версионного .hgeol файл конфигурации найден в
корень рабочего каталога. В .hgeol файл используют тот же синтаксис, что и все остальные
Файлы конфигурации Mercurial. Он использует два раздела, [шаблоны] и [репозиторий].

" [шаблоны] секция определяет, как должны быть преобразованы окончания строк между рабочими
каталог и репозиторий. Формат определяется шаблоном файла. Первый матч
используется, поэтому сначала укажите более конкретные шаблоны. Доступные окончания строк: LF, CRLFи
BIN.

Файлы с заявленным форматом CRLF or LF всегда проверяются и хранятся в
репозиторий в этом формате и файлы, объявленные двоичными (BIN) оставлены без изменений.
Кроме того, родной - это псевдоним для проверки в строке платформы по умолчанию, заканчивающейся:
LF в Unix (включая Mac OS X) и CRLF в Windows. Обратите внимание, что BIN (ничего не делать в линию
endings) - поведение Mercurial по умолчанию; это необходимо только в том случае, если вам нужно переопределить
позже, более общий образец.

Необязательный [репозиторий] раздел определяет окончания строк для файлов, хранящихся в
репозиторий. Имеет единственную настройку, родной, определяющий окончания строки хранения
для файлов, объявленных как родной в [шаблоны] раздел. Его можно установить на LF or CRLF,
по умолчанию LF. Например, это означает, что в Windows файлы, настроенные как родной (CRLF
по умолчанию) будет преобразован в LF при хранении в репозитории. Файлы, объявленные как LF,
CRLFили BIN в [шаблоны] секции всегда хранятся в репозитории как есть.

Пример с версией .hgeol файл:

[шаблоны]
**. py = native
**. vcproj = CRLF
**. txt = родной
Makefile = LF
**. jpg = BIN

[репозиторий]
родной = НЧ

Примечание.Правила сначала будут применяться при касании файлов в рабочем каталоге, например,
обновление до нуля и обратно, чтобы коснуться всех файлов.

Расширение использует необязательный [эол] раздел читается как из нормального Mercurial
файлы конфигурации и .hgeol файл, причем последний имеет приоритет над первым. Ты сможешь
используйте этот раздел для управления общим поведением. Есть три настройки:

· эол.родной (дефолт os.linesep) можно установить на LF or CRLF чтобы переопределить значение по умолчанию
интерпретация родной для оформления заказа. Это можно использовать с hg архив в Unix, скажем, для
сгенерируйте архив, в котором файлы имеют окончания строк для Windows.

· эол. единственно согласованный (по умолчанию True) может быть установлено значение False, чтобы преобразовать расширение
файлы с несовместимыми EOL. Несоответствие означает, что есть оба CRLF и LF представить
в файле. Такие файлы обычно не трогаются в предположении, что они
смешанные EOLs намеренно.

· eol.fix-трейлинг-новая строка (по умолчанию False) может быть установлено значение True, чтобы гарантировать, что преобразованный
файлы заканчиваются символом EOL (либо \n or \ Г \ п согласно настроенным шаблонам).

Расширение предоставляет умный код: и умный декод: фильтры как устаревшие
Win32text расширение делает. Это означает, что вы можете отключить win32text и включить eol и
ваши фильтры по-прежнему будут работать. Эти фильтры нужны вам только до тех пор, пока вы не подготовите
.hgeol .

" win32text.forbid * хуки, предоставляемые расширением win32text, были объединены в
одиночный крючок по имени eol.checkheadshook. Хук будет искать ожидаемые окончания строк из
.hgeol файл, что означает, что вы должны перейти на .hgeol файл перед использованием
крюк. eol.checkheadshook проверяет только заголовки, будут вставлены промежуточные недействительные ревизии.
Чтобы запретить их полностью, используйте eol.checkallhook крюк. Эти крючки лучше всего использовать в качестве
pretxnchangegroup крючки.

Увидеть hg помощь паттеранами для получения дополнительной информации об используемых шаблонах глобусов.

добавочный
команда, позволяющая внешним программам сравнивать версии

Расширение extdiff Mercurial позволяет использовать внешние программы для сравнения ревизий,
или ревизия с рабочим каталогом. Внешние программы сравнения вызываются с
настраиваемый набор параметров и два аргумента без параметров: пути к каталогам, содержащим
снимки файлов для сравнения.

Расширение extdiff также позволяет вам настраивать новые команды сравнения, поэтому вам не нужно
печатать hg добавочный -p kdiff3 всегда.

[дополнительно]
# добавить новую команду, запускающую GNU Разница(1) в режиме 'context diff'
cdiff = gdiff -Nprc5
## или по старинке:
# cmd.cdiff = gdiff
# opts.cdiff = -Nprc5

# добавляем новую команду с именем meld, запускает meld (нет необходимости называть ее дважды). Если
# исполняемый файл meld недоступен, инструмент meld в [merge-tools]
# будет использоваться, если доступно
объединение =

# добавляем новую команду vimdiff, запускаем gvimdiff с плагином DirDiff
# (видеть http://www.vim.org/scripts/script.php? script_id = 102) Не
# Английский пользователь, не забудьте поставить "let g: DirDiffDynamicDiffText = 1" в
# ваш .vimrc
vimdiff = gvim -f "+следующий"
"+ выполнить 'DirDiff' fnameescape (ARGV(0)) fnameescape (ARGV(1)) "

Аргументы инструмента могут включать переменные, которые раскрываются во время выполнения:

$ parent1, $ plabel1 - имя файла, описательная метка первого родителя
$ child, $ clabel - имя файла, описательная метка дочерней ревизии
$ parent2, $ plabel2 - имя файла, описательная метка второго родителя
$ root - корень репозитория
$ parent - это псевдоним для $ parent1.

Расширение extdiff будет искать diff в ваших разделах [diff-tools] и [merge-tools].
аргументы инструмента, если они не указаны в [extdiff].

[дополнительно]
kdiff3 =

[diff-инструменты]
kdiff3.diffargs = - L1 '$ plabel1' --L2 '$ clabel' $ parent $ child

Вы можете использовать -I / -X и список имен файлов или каталогов, как обычно hg Разница команда.
Расширение extdiff делает снимки только необходимых файлов, поэтому запуск внешнего diff
программа на самом деле будет довольно быстрой (по крайней мере, быстрее, чем сравнивать все
дерево).

Команды
добавочный
использовать внешнюю программу для сравнения репозитория (или выбранных файлов):

hg extdiff [OPT] ... [FILE] ...

Показать различия между версиями указанных файлов с помощью внешней программы. В
по умолчанию используется программа diff с параметрами по умолчанию "-Npru".

Чтобы выбрать другую программу, используйте параметр -p / - program. Программа будет передана
имена двух каталогов для сравнения. Чтобы передать программе дополнительные параметры, используйте
-o / - вариант. Они будут переданы перед именами каталогов для сравнения.

Если даны два аргумента версии, то между этими версиями отображаются изменения. Если
указывается только одна ревизия, затем эта ревизия сравнивается с рабочим каталогом,
и, если ревизии не указаны, файлы рабочего каталога сравниваются с его
Родитель.

Опции:

-п,--программа
программа сравнения для запуска

-о,--вариант
передать опцию программе сравнения

-р,--rev
пересмотр

-с,--изменение
изменение внесено ревизией

--пластырь
сравнить патчи для двух ревизий

-Я,--включают
включать имена, соответствующие заданным шаблонам

-ИКС,--исключать
исключить имена, соответствующие заданным шаблонам

-С, --subrepos
рекурсивно в субхранилища

[+] отмеченный вариант можно указывать несколько раз

мастер на все руки
HTTP-аутентификация с помощью factotum

Это расширение позволяет мастер на все руки(4) объект на Плане 9 от платформ Bell Labs до
предоставить информацию для аутентификации для доступа по протоколу HTTP. Записи конфигурации, указанные в
раздел auth, а также информация об аутентификации, предоставленная в URL-адресе репозитория,
полностью поддерживается. Если префикс не указан, будет принято значение «*».

По умолчанию ключи указаны как:

proto = передать service = hg prefix = пользователь = ! пароль =

Если расширение factotum не может прочитать требуемый ключ, будет запрошен один
интерактивно.

Доступен раздел конфигурации для настройки поведения во время выполнения. По умолчанию эти
записи:

[фактотум]
исполняемый файл = / bin / auth / factotum
точка монтирования = / mnt / factotum
обслуживание = хг

Запись исполняемого файла определяет полный путь к двоичному файлу factotum. Запись точки монтирования
определяет путь к файловой службе factotum. Наконец, служебная запись контролирует
имя службы, используемое при чтении ключей.

получать
тянуть, обновлять и объединять в одной команде (УСТАРЕЛО)

Команды
получать
извлекать изменения из удаленного репозитория, при необходимости объединять новые изменения:

hg fetch [ИСТОЧНИК]

Это находит все изменения из репозитория по указанному пути или URL-адресу и добавляет их в
локальный репозиторий.

Если вытянутые изменения добавляют новую головку ветви, она автоматически объединяется, и
результат слияния зафиксирован. В противном случае рабочий каталог обновляется, чтобы включить
новые изменения.

Когда требуется слияние, рабочий каталог сначала обновляется до недавно извлеченного
изменения. Затем локальные изменения объединяются в извлеченные изменения. Чтобы изменить порядок слияния,
используйте --switch-parent.

Увидеть hg помощь даты для списка форматов, допустимых для -d / - date.

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

Опции:

-р,--rev
конкретная ревизия, которую вы хотели бы вытащить

-е, --редактировать
вызывать редактор для сообщений фиксации

--force-редактор
изменить сообщение фиксации (УСТАРЕЛО)

- родитель-родитель
поменять родителей при слиянии

-м,--сообщение
использовать текст как сообщение фиксации

-л,--лог-файл
прочитать сообщение фиксации из файла

-д,--свидание
записать указанную дату как дату фиксации

-у,--Пользователь
записать указанного пользователя как коммиттера

-е,--шш
укажите команду ssh для использования

--remotecmd
укажите команду hg для запуска на удаленной стороне

--ненадежный
не проверять сертификат сервера (игнорируя конфигурацию web.cacerts)

[+] отмеченный вариант можно указывать несколько раз

GPG
команды для подписи и проверки ревизий

Команды
SigCheck
проверьте все подписи, которые могут быть для конкретной ревизии:

hg sigcheck REV

проверить все подписи, которые могут быть для конкретной ревизии

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

знак hg [OPTION] ... [REV] ...

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

" gpg.cmd config можно использовать для указания команды для запуска. Ключ по умолчанию может быть
указано с gpg.ключ.

Увидеть hg помощь даты для списка форматов, допустимых для -d / - date.

Опции:

-л, --местный
сделайте подпись местной

-ф, --сила
подписать, даже если файл сигнатуры изменен

--no-commit
не фиксируйте файл сигнатуры после подписания

-к,--ключ
идентификатор ключа для подписи

-м,--сообщение
использовать текст как сообщение фиксации

-е, --редактировать
вызывать редактор для сообщений фиксации

-д,--свидание
записать указанную дату как дату фиксации

-у,--Пользователь
записать указанного пользователя как коммиттера

SIGs
перечислить подписанные ревизии:

хг сигс

список подписанных наборов изменений

график
команда для просмотра графиков ревизий из оболочки (УСТАРЕЛО)

Функциональные возможности этого расширения включены в ядро ​​Mercurial начиная с версии 2.3.
Пожалуйста, используйте hg журнал -G ... .

Это расширение добавляет параметр --graph для входящих, исходящих и журнальных команд. Когда это
параметров, также отображается ASCII-представление графа ревизий.

Команды
глоток
показать историю ревизий вместе с графиком ревизий ASCII:

hg glog [ВАРИАНТ] ... [ФАЙЛ]

Распечатайте историю редакций вместе с графиком редакций, нарисованным с использованием символов ASCII.

Узлы, напечатанные как символ @, являются родительскими для рабочего каталога.

Это псевдоним hg журнал -G.

Опции:

-ф, --следить
следить за историей набора изменений или историей файлов по копированию и переименованию

- сначала подписывайтесь
следовать только за первым родителем наборов изменений слияния (УСТАРЕЛО)

-д,--свидание
показать ревизии, соответствующие спецификации даты

-С, - копии
показать скопированные файлы

-к,--ключевое слово
выполнять поиск заданного текста без учета регистра

-р,--rev
показать указанную ревизию или ревизию

--удаленный
включить ревизии, из которых были удалены файлы

-м, --only-слияния
показывать только слияния (УСТАРЕЛО)

-у,--Пользователь
изменения, внесенные пользователем

--только-ветка
показывать только наборы изменений в указанной именованной ветке (УСТАРЕЛО)

-б,--ветвь
показать наборы изменений в указанной именованной ветке

-П,--чернослив
не отображать ревизию или ее предков

-п, --пластырь
показать патч

-грамм, --git
использовать расширенный формат сравнения git

-л,- предел
ограничить количество отображаемых изменений

-М, --не-слияния
не показывать слияния

--stat вывести сводку изменений в стиле diffstat

-ГРАММ, --граф
показать ревизию DAG

--стиль
отображение с использованием файла карты шаблона (УСТАРЕЛО)

-Т,--шаблон
отображение с шаблоном

-Я,--включают
включать имена, соответствующие заданным шаблонам

-ИКС,--исключать
исключить имена, соответствующие заданным шаблонам

[+] отмеченный вариант можно указывать несколько раз

hgcia
хуки для интеграции с сервисом уведомлений CIA.vc

Это предназначено для запуска как группы изменений или входящей ловушки. Чтобы настроить его, установите
следующие параметры в вашем hgrc:

[чия]
# ваше зарегистрированное имя пользователя ЦРУ
пользователь = фу
# название проекта в ЦРУ
проект = фу
# модуль (подпроект) (необязательно)
#модуль = фу
# Добавить diffstat в сообщение журнала (необязательно)
#diffstat = Ложь
# Шаблон для использования в сообщениях журнала (необязательно)
#template = {desc} \ n {baseurl} {webroot} / rev / {node} - {diffstat}
# Стиль для использования (необязательно)
# стиль = фу
# URL-адрес службы уведомлений ЦРУ (необязательно)
# Вы можете использовать mailto: URL для отправки по электронной почте, например
# mailto: cia@cia.vc
# Обязательно установите email.from, если вы это сделаете.
# URL = http://cia.vc/
# печатать сообщение вместо его отправки (необязательно)
#тест = Ложь
# количество косых черт для удаления путей URL
# полоса = 0

[крючки]
# один из них:
changegroup.cia = питон: hgcia.hook
# incoming.cia = python: hgcia.hook

[Веб]
# Если вам нужны гиперссылки (необязательно)
базовый URL = http://server/path/to/repo

Hgk
просматривать репозиторий в графическом виде

Расширение hgk позволяет просматривать историю репозитория в графическом виде. Это
требуется Tcl / Tk версии 8.4 или новее. (Tcl / Tk не распространяется с Mercurial.)

hgk состоит из двух частей: Tcl-скрипт, который отображает и запрашивает
информации, а также расширение Mercurial под названием hgk.py, которое предоставляет хуки для hgk, чтобы
получить информацию. hgk можно найти в каталоге contrib, и расширение поставляется
в репозитории hgext и должен быть включен.

" hg view команда запустит сценарий hgk Tcl. Чтобы эта команда работала, hgk должен быть
на вашем пути поиска. В качестве альтернативы вы можете указать путь к hgk в своей конфигурации
файл:

[хгк]
путь = / расположение / из / hgk

hgk может использовать расширение extdiff для визуализации исправлений. Предполагая, что у вас было
уже настроенная команда extdiff vdiff, просто добавьте:

[хгк]
vdiff = vdiff

В контекстном меню ревизий теперь отображаются дополнительные записи для запуска vdiff при наведении и
выбранные ревизии.

Команды
view
запустить интерактивный просмотрщик истории:

hg view [-l ОГРАНИЧЕНИЕ] [ИЗМЕНЕНИЕ ДИАПАЗОНА]

запустить интерактивную программу просмотра истории

Опции:

-л,- предел
ограничить количество отображаемых изменений

выделить
подсветка синтаксиса для hgweb (требуется Pygments)

Это зависит от библиотеки подсветки синтаксиса Pygments: http://pygments.org/

Возможны следующие варианты конфигурации:

[Веб]
pygments_style = (default: colorful)
highlightfiles = (по умолчанию: размер ('<5M'))
highlightonlymatchfilename = (по умолчанию False)

Highlightonlymatchfilename будет выделять файлы только в том случае, если их тип можно определить по
их имя файла. Когда это не включено (по умолчанию), Pygments очень стараются
определить тип файла по содержимому и любому совпадению (даже совпадению с низкой степенью достоверности)
оценка) будет использоваться.

hisedit
интерактивное редактирование истории

После установки этого расширения Mercurial получает одну новую команду: histedit. Использование как
следует, предполагая следующую историю:

@ 3 [подсказка] 7c2fd3b9020c 2009 04:27 -18 durin04
| Добавить дельту
|
о 2 030b686bedc4 2009 04:27 -18 durin04
| Добавить гамму
|
o 1 c561b4e977df 2009 04:27 -18 durin04
| Добавить бета
|
o 0 d8d2fcd0e319 2009 04:27 -18 durin04
Добавить альфа

Если бы вы бежали hg hisedit c561b4e977df, вы увидите, что в вашем
редактор:

pick c561b4e977df Добавить бета
pick 030b686bedc4 Добавить гамму
pick 7c2fd3b9020c Добавить дельту

# Редактировать историю между c561b4e977df и 7c2fd3b9020c
#
# Коммитов перечисляются от наименьшего к самому последнему.
#
# Команды:
# p, pick = использовать фиксацию
# e, edit = использовать фиксацию, но не вносить поправки
# f, fold = использовать фиксацию, но объединить ее с приведенной выше
# r, roll = как fold, но удалить описание этого коммита
# d, drop = удалить фиксацию из истории
# m, mess = редактировать сообщение фиксации без изменения содержимого фиксации
#

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

pick 030b686bedc4 Добавить гамму
pick c561b4e977df Добавить бета
fold 7c2fd3b9020c Добавить дельту

# Редактировать историю между c561b4e977df и 7c2fd3b9020c
#
# Коммитов перечисляются от наименьшего к самому последнему.
#
# Команды:
# p, pick = использовать фиксацию
# e, edit = использовать фиксацию, но не вносить поправки
# f, fold = использовать фиксацию, но объединить ее с приведенной выше
# r, roll = как fold, но удалить описание этого коммита
# d, drop = удалить фиксацию из истории
# m, mess = редактировать сообщение фиксации без изменения содержимого фиксации
#

В этот момент вы закрываете редактор и hisedit начинает работать. Когда вы указываете сложить
операция, hisedit откроет редактор, когда он объединит эти версии вместе, предлагая
у вас есть шанс очистить сообщение фиксации:

Добавить бета

Добавить дельту

Отредактируйте сообщение фиксации по своему вкусу, затем закройте редактор. В этом примере давайте
предположим, что сообщение фиксации было изменено на Добавить beta и дельта. После того, как hisedit побежал
и имел возможность удалить все необходимые старые или временные исправления, история выглядит
как это:

@ 2 [подсказка] 989b4d060121 2009 04:27 -18 durin04
| Добавьте бета и дельта.
|
о 1 081603921c3f 2009-04-27 18:04 -0500 durin42
| Добавить гамму
|
o 0 d8d2fcd0e319 2009 04:27 -18 durin04
Добавить альфа

Обратите внимание, что hisedit приносит удалите все изменения (даже свои временные) до тех пор, пока
он выполнил все операции редактирования, поэтому он, вероятно, выполнит несколько полос
операции, когда это будет сделано. В приведенном выше примере он должен был запустить полосу дважды. Полоса может быть
медленно в зависимости от множества факторов, поэтому вам, возможно, потребуется немного терпения. Ты сможешь
выберите сохранить исходные версии, передав --хранить флаг.

" отредактировать операция вернет вас в командную строку, позволяющую редактировать файлы
свободно или даже использовать hg запись чтобы зафиксировать некоторые изменения как отдельную фиксацию. Когда ты
сделано, любые оставшиеся незафиксированные изменения также будут зафиксированы. Когда закончите, бегите hg
hisedit --Продолжить чтобы закончить этот шаг. Вам будет предложено ввести новое сообщение о фиксации, но
сообщение фиксации по умолчанию будет исходным сообщением для отредактировать редакция ред.

" сообщение операция даст вам возможность отредактировать сообщение фиксации без изменения
содержимое. Это ярлык для выполнения отредактировать сразу же после hg hisedit
- продолжить`.

If hisedit сталкивается с конфликтом при перемещении ревизии (при обработке выбирать or сложить),
он остановится аналогично отредактировать с той разницей, что он не предложит вам
зафиксировать сообщение, когда закончите. Если на этом этапе вы решите, что вам не нравится, сколько работы, это
будет переставлять историю, или что вы сделали ошибку, вы можете использовать hg hisedit - отменить
чтобы отказаться от внесенных вами новых изменений и вернуться в состояние, в котором вы пытались
редактировать свою историю.

Если мы клонируем приведенный выше пример репозитория histedit-ed и добавим еще четыре изменения, так что
у нас есть следующая история:

@ 6 [подсказка] 038383181893 2009-04-27 18:04 -0500 Стефан
| Добавить тета
|
o 5 140988835471 2009-04-27 18:04 -0500 Стефан
| Добавить эту
|
o 4 122930637314 2009-04-27 18:04 -0500 Стефан
| Добавить дзета
|
o 3 836302820282 2009-04-27 18:04 -0500 Стефан
| Добавить эпсилон
|
о 2 989b4d060121 2009 04:27 -18 durin04
| Добавьте бета и дельта.
|
о 1 081603921c3f 2009-04-27 18:04 -0500 durin42
| Добавить гамму
|
o 0 d8d2fcd0e319 2009 04:27 -18 durin04
Добавить альфа

Если вы запустите hg hisedit --исходящий на клоне это то же самое, что и запуск hg hisedit
836302820282. Если вам нужно запланировать отправку в репозиторий, который Mercurial не обнаруживает,
быть связанным с исходным репо, вы можете добавить --сила опцию.

Конфиг
Строки правил Histedit по умолчанию обрезаются до 80 символов. Вы можете настроить это
поведение, установив другую длину в вашем файле конфигурации:

[История]
linelen = 120 # обрезать строки правила до 120 символов

hg hisedit пытается автоматически выбрать подходящую базовую ревизию для использования. К
измените используемую базовую ревизию, определите ревизию в вашем файле конфигурации:

[История]
defaultrev = только (.) и черновик ()

По умолчанию каждая отредактированная ревизия должна присутствовать в командах histedit. Удалять
версия, которую вам нужно использовать падение операция. Вы можете настроить отбрасывание как неявное для
недостающие коммиты, добавив:

[История]
отбрасывание = Истина

Команды
hisedit
интерактивно редактировать историю изменений:

hg histedit [ОПЦИИ] ([ПРЕДОК] | --исходящий [URL])

Эта команда позволяет редактировать линейную серию наборов изменений (включая рабочие
каталог, который должен быть чистым). Ты сможешь:

· выбирать [пере] заказать набор изменений

· падение опустить ревизию

· беспорядок перефразировать сообщение фиксации набора изменений

· сложить чтобы объединить его с предыдущим набором изменений

· рулон как фолд, но отбрасывая описание этого коммита

· отредактировать отредактировать этот набор изменений

Есть несколько способов выбрать корневую ревизию:

· Укажите ANCESTOR напрямую

· Используйте --outgoing - это будет первая линейная ревизия, не включенная в пункт назначения.
(См. hg помощь config.default-push)

· В противном случае значение из параметра конфигурации "histedit.defaultrev" используется как набор изменений для
выберите базовую версию, если ANCESTOR не указан. Первая ревизия, возвращенная
используется ревизия. По умолчанию выбирается редактируемая история, уникальная для
происхождение рабочего каталога.

Если вы используете --outgoing, эта команда будет прервана при неоднозначных исходящих ревизиях.
Например, если есть несколько веток, содержащих исходящие ревизии.

Используйте "min (outgoing () and ::.)" Или аналогичную спецификацию revset вместо --outgoing to
указать редактировать целевую ревизию именно в такой неоднозначной ситуации. Видеть hg помощь ревизии для
подробнее о выборе ревизий.

Примеры:

· Внесен ряд изменений. Версия 3 больше не нужна.

Начать редактирование истории с ревизии 3:

hg гистедит -r 3

Откроется редактор со списком ревизий с указанными конкретными действиями:

выберите 5339bf82f0ca 3 Zworgle the foobar
выбрать 8ef592ce7cc4 4 Ослепить зерлога
выберите 0a9639fcda9d 5 Morgify the cromulancy

Дополнительная информация о возможных действиях появляется под списком
изменения.

Чтобы удалить ревизию 3 из истории, ее действие (в начале соответствующего
строка) заменяется на 'drop':

падение 5339bf82f0ca 3 Зворгле foobar
выбрать 8ef592ce7cc4 4 Ослепить зерлога
выберите 0a9639fcda9d 5 Morgify the cromulancy

· Внесен ряд изменений. Версии 2 и 4 необходимо поменять местами.

Начать редактирование истории с ревизии 2:

hg гистедит -r 2

Откроется редактор со списком ревизий с указанными конкретными действиями:

выбрать 252a1af424ad 2 Blorb a morgwazzle
выберите 5339bf82f0ca 3 Zworgle the foobar
выбрать 8ef592ce7cc4 4 Ослепить зерлога

Чтобы поменять местами ревизию 2 и 4, ее строки меняются местами в редакторе:

выбрать 8ef592ce7cc4 4 Ослепить зерлога
выберите 5339bf82f0ca 3 Zworgle the foobar
выбрать 252a1af424ad 2 Blorb a morgwazzle

Возвращает 0 в случае успеха, 1, если требуется вмешательство пользователя (не только для преднамеренного «редактирования»).
команда, но и для разрешения неожиданных конфликтов).

Опции:

--команды
читать историю изменений из указанного файла

-с, --Продолжить
продолжить редактирование, которое уже выполняется

--редактировать-план
редактировать список оставшихся действий

-к, --хранить
не удаляйте старые узлы после завершения редактирования

- отменить
отменить редактирование в процессе

-о, --исходящий
изменения не найдены в месте назначения

-ф, --сила
принудительно исходить даже из несвязанных репозиториев

-р,--rev
первая редакция, подлежащая редактированию

[+] отмеченный вариант можно указывать несколько раз

ключевое слово
расширять ключевые слова в отслеживаемых файлах

Это расширение расширяет RCS / CVS-подобные или самостоятельно настраиваемые $ Keywords $ в отслеживаемых текстовых файлах.
выбирается вашей конфигурацией.

Ключевые слова раскрываются только в локальных репозиториях и не сохраняются в истории изменений. В
механизм можно рассматривать как удобство для текущего пользователя или для архивации
распределение.

Ключевые слова расширяются до данных набора изменений, относящихся к последнему изменению относительно
рабочий каталог, родительский для каждого файла.

Конфигурация выполняется в разделах [keyword], [keywordset] и [keywordmaps] hgrc.
файлы.

Пример:

[ключевое слово]
# раскрыть ключевые слова в каждом файле Python, кроме тех, которые соответствуют "x *"
**. py =
x * = игнорировать

[набор ключевых слов]
# предпочитаю svn-, а не cvs-подобные карты ключевых слов по умолчанию
свн = Истина

Примечание. Чем точнее вы укажете шаблоны имен файлов, тем меньше вы потеряете скорость в огромных количествах.
Хранилища.

Для демонстрации сопоставления и расширения шаблона [keywordmaps] и контрольного прогона hg kwдемо.
Увидеть hg помощь шаблоны для списка доступных шаблонов и фильтров.

Предусмотрены три дополнительных фильтра шаблона даты:

UTCDATE

"2006/09/18 15:13:13"

svnutcdate

"2006-09-18 15:13:13Z"

свнисодате

"2006-09-18 08:13:13 -700 (понедельник, 18 сентября 2006 г.)"

Сопоставления шаблонов по умолчанию (просмотреть с hg kwдемо -d) можно заменить на индивидуальный
ключевые слова и шаблоны. Опять беги hg kwдемо для контроля результатов вашей конфигурации
изменений.

Перед изменением / отключением активных ключевых слов необходимо запустить hg kwshrink чтобы избежать хранения
расширенные ключевые слова в истории изменений.

Чтобы принудительно развернуть его после включения или изменения конфигурации, запустите hg kwрасширить.

Расширения, охватывающие более одной строки, и инкрементные расширения, такие как CVS '$ Log $,
не поддерживается. Карта шаблона ключевых слов "Log = {desc}" разворачивается до первой строки
описание набора изменений.

Команды
kwдемо
распечатайте конфигурацию [ключевые слова] и пример расширения:

hg kwdemo [-d] [-f RCFILE] [TEMPLATEMAP] ...

Отображение текущих, настраиваемых или стандартных карт шаблонов ключевых слов и их расширений.

Расширьте текущую конфигурацию, указав карты в качестве аргументов и используя -f / - rcfile для
источник внешнего файла hgrc.

Используйте -d / - default, чтобы отключить текущую конфигурацию.

Увидеть hg помощь шаблоны для получения информации о шаблонах и фильтрах.

Опции:

-д, --дефолт
показать карты шаблонов ключевых слов по умолчанию

-ф,--rcfile
читать карты из rcfile

kwрасширить
развернуть ключевые слова в рабочем каталоге:

hg kwexpand [ОПЦИЯ] ... [ФАЙЛ] ...

Выполнить после (повторного) включения расширения ключевых слов.

kwexpand отказывается запускаться, если указанные файлы содержат локальные изменения.

Опции:

-Я,--включают
включать имена, соответствующие заданным шаблонам

-ИКС,--исключать
исключить имена, соответствующие заданным шаблонам

[+] отмеченный вариант можно указывать несколько раз

kwfiles
показать файлы, настроенные для расширения ключевых слов:

hg kwfiles [ОПЦИЯ] ... [ФАЙЛ] ...

Перечислите, какие файлы в рабочем каталоге соответствуют конфигурации [ключевое слово].
узоры.

Полезно для предотвращения случайного расширения ключевых слов и для ускорения выполнения за счет включения
только файлы, которые действительно являются кандидатами на расширение.

Увидеть hg помощь ключевое слово о том, как построить шаблоны как для включения, так и исключения
файлы.

С -A / - all и -v / - verbose коды, используемые для отображения статуса файлов:

K = кандидат на раскрытие ключевого слова
k = кандидат на раскрытие ключевого слова (не отслеживается)
I = игнорируется
i = игнорируется (не отслеживается)

Опции:

-А, --все
показать флаги статуса ключевых слов для всех файлов

-я, - игнорировать
показать файлы, исключенные из расширения

-у, --неизвестный
показывать только неизвестные (не отслеживаемые) файлы

-Я,--включают
включать имена, соответствующие заданным шаблонам

-ИКС,--исключать
исключить имена, соответствующие заданным шаблонам

[+] отмеченный вариант можно указывать несколько раз

kwshrink
вернуть развернутые ключевые слова в рабочий каталог:

hg kwshrink [ОПЦИЯ] ... [ФАЙЛ] ...

Необходимо запустить перед изменением / отключением активных ключевых слов.

kwshrink отказывается запускаться, если указанные файлы содержат локальные изменения.

Опции:

-Я,--включают
включать имена, соответствующие заданным шаблонам

-ИКС,--исключать
исключить имена, соответствующие заданным шаблонам

[+] отмеченный вариант можно указывать несколько раз

большие файлы
отслеживать большие двоичные файлы

Большие двоичные файлы, как правило, не очень сжимаемы, не очень распространяются и совсем не поддаются сжатию.
объединяемый. Такие файлы не обрабатываются эффективно форматом хранения Mercurial (журналом изменений),
который основан на сжатых двоичных дельтах; хранение больших двоичных файлов как обычных
Файлы Mercurial тратят впустую полосу пропускания и дисковое пространство и увеличивают использование памяти Mercurial.
Расширение largefiles решает эти проблемы, добавляя централизованный клиент-сервер.
слой поверх Mercurial: большие файлы живут в центральный магазин в сети
где-нибудь, и вы получаете только те изменения, которые вам нужны, когда они вам нужны.

largefiles работает, поддерживая «отдельный файл» в .hglf / для каждого большого файла. В
Standins имеют небольшой размер (41 байт: хэш SHA-1 плюс новая строка) и отслеживаются Mercurial.
Ревизии больших файлов идентифицируются хешем SHA-1 их содержимого, который записывается
к стенду. largefiles использует этот идентификатор ревизии для получения / размещения ревизий больших файлов из / в
центральный магазин. Это экономит дисковое пространство и пропускную способность, поскольку вам не нужно
получать все исторические ревизии больших файлов при клонировании или извлечении.

Чтобы запустить новый репозиторий или добавить новые большие двоичные файлы, просто добавьте --large в свой hg
команда. Например:

$ dd if = / dev / urandom of = randomdata count = 2000
$ hg add - большие случайные данные
$ hg commit -m 'добавить случайные данные как большой файл'

Когда вы отправляете набор изменений, который добавляет / изменяет большие файлы в удаленный репозиторий, его
Редакции больших файлов будут загружены вместе с ним. Обратите внимание, что удаленный Mercurial должен
также включите расширение largefiles, чтобы это работало.

Когда вы извлекаете набор изменений, который влияет на большие файлы из удаленного репозитория, большие файлы
для набора изменений по умолчанию не удаляется. Однако при обновлении до такого
ревизии, любые большие файлы, необходимые для этой ревизии, загружаются и кэшируются (если они
никогда раньше не скачивал). Таким образом, одним из способов извлечения больших файлов при извлечении является использование
--update, который обновит вашу рабочую копию до последней извлеченной ревизии (и тем самым
загрузка любых новых файлов большого размера).

Если вы хотите вытащить большие файлы, которые еще не нужны для обновления, вы можете использовать pull с
--lfrev или hg lfpull команда.

Если вы знаете, что используете нестандартное расположение и хотите загрузить все
большие файлы, которые соответствуют новым наборам изменений в то же время, затем вы можете использовать
--lfrev "потянул ()".

Если вы просто хотите убедиться, что у вас будут большие файлы, необходимые для слияния или перебазирования
с новыми головами, которые вы тянете, тогда вы можете тянуть с --lfrev "голова (потянул ())" флажок
для упреждающей загрузки любых новых файлов большого размера, которые появляются в загружаемых вами головах.

Имейте в виду, что теперь для обновления наборов изменений, которые у вас есть, может потребоваться доступ к сети.
ранее не обновлялся до. Природа расширения largefiles означает, что обновление
больше не гарантируется, что это будет только локальная операция.

Если у вас уже есть большие файлы, отслеживаемые Mercurial без расширения largefiles, вы
вам нужно будет преобразовать ваш репозиторий, чтобы использовать большие файлы. Готово
с hg lfconvert команда:

$ hg lfconvert --size 10 старый репозиторий новый репозиторий

В репозиториях, в которых уже есть большие файлы, любой новый файл размером более 10 МБ будет
автоматически добавляется как большой файл. Чтобы изменить этот порог, установите bigfiles.minsize in
ваш файл конфигурации Mercurial до минимального размера в мегабайтах для отслеживания как большой файл, или
используйте параметр --lfsize для команды добавления (также в мегабайтах):

[большие файлы]
минимальный размер = 2

$ hg добавить --lfsize 2

" bigfiles.patterns опция config позволяет вам указать список шаблонов имен файлов
(См. hg помощь паттеранами), которые всегда следует отслеживать как большие файлы:

[большие файлы]
шаблоны =
* .jpg
re:. * \. (png | bmp) $
библиотека.zip
контент / аудио / *

Файлы, соответствующие одному из этих шаблонов, будут добавлены как большие файлы независимо от их
размер.

" bigfiles.minsize и bigfiles.patterns параметры конфигурации будут игнорироваться для любых
репозитории, еще не содержащие большого файла. Чтобы добавить первый большой файл в
репозиторий, вы должны явно сделать это с помощью флага --large, переданного в hg команда.

Команды
lfconvert
преобразовать обычный репозиторий в репозиторий больших файлов:

hg lfconvert ИСТОЧНИК DEST [ФАЙЛ ...]

Преобразование репозитория SOURCE в новый репозиторий DEST, идентичный SOURCE, за исключением того, что
определенные файлы будут преобразованы в файлы большого размера: в частности, любой файл, соответствующий любому
ШАБЛОН or размер которого превышает пороговое значение минимального размера, преобразуется в файл большого размера. В
размер, используемый для определения того, следует ли отслеживать файл как большой файл, является размером
первая версия файла. Минимальный размер можно указать с помощью --size или в
конфигурация как bigfiles.size.

После выполнения этой команды вам нужно будет убедиться, что большие файлы включены где угодно.
вы собираетесь запустить новый репозиторий.

Используйте --to-normal, чтобы преобразовать большие файлы обратно в обычные файлы; после этого DEST
репозиторий можно использовать вообще без больших файлов.

Опции:

-с,--размер
минимальный размер (МБ) файлов, которые нужно преобразовать в файлы большого размера

- к нормальному
конвертировать из репо больших файлов в нормальное репо

lfpull
извлечь большие файлы для указанных ревизий из указанного источника:

hg lfpull -r REV ... [-e CMD] [--remotecmd CMD] [ИСТОЧНИК]

Извлеките большие файлы, на которые есть ссылки из локальных наборов изменений, но которые отсутствуют локально, извлекая
из удаленного репозитория в локальный кеш.

Если SOURCE не указан, будет использоваться путь по умолчанию. Видеть hg помощь URL-адреса для большего
Информация.

Некоторые примеры:

· Вытащить большие файлы для всех головок веток:

hg lfpull -r "голова () и не закрыто ()"

· Тянуть большие файлы в ветку по умолчанию:

hg lfpull -r "ветка (по умолчанию)"

Опции:

-р,--rev
вытащить большие файлы для этих ревизий

-е,--шш
укажите команду ssh для использования

--remotecmd
укажите команду hg для запуска на удаленной стороне

--ненадежный
не проверять сертификат сервера (игнорируя конфигурацию web.cacerts)

[+] отмеченный вариант можно указывать несколько раз

mq
управлять стопкой патчей

Это расширение позволяет вам работать со стеком патчей в репозитории Mercurial. Это управляет
два стека патчей - все известные патчи и примененные патчи (подмножество известных патчей).

Известные исправления представлены в виде файлов исправлений в каталоге .hg / patches. Примененные патчи
являются как файлами исправлений, так и наборами изменений.

Общие задачи (используйте hg помощь команду Больше подробностей):

создать новый патч qnew
импортировать существующий патч qimport

серия патчей для печати qseries
распечатать накладные патчи qapplied

добавить известный патч в применяемый стек qpush
удалить патч из применяемого стека qpop
обновить содержимое верхнего примененного патча qrefresh

По умолчанию mq автоматически использует исправления git, когда это необходимо, чтобы избежать потери файлового режима.
изменения, копирование записей, двоичных файлов или создание или удаление пустых файлов. Это поведение
можно настроить с помощью:

[кв.м]
git = авто / держать / да / нет

Если установлено значение 'keep', mq будет подчиняться конфигурации раздела [diff], сохраняя существующие
git исправляет qrefresh. Если установлено «да» или «нет», mq переопределит раздел [diff].
и всегда генерировать git или обычные патчи, возможно, потеряв данные во втором случае.

Может быть желательно, чтобы наборы изменений mq оставались в секретной фазе (см. hg помощь фаз),
который можно включить с помощью следующих настроек:

[кв.м]
секрет = правда

По умолчанию вы будете управлять очередью исправлений с именем «patches». Вы можете создавать другие,
независимые очереди исправлений с hg очередь команда.

Если рабочий каталог содержит незафиксированные файлы, qpush, qpop и qgoto прерывают
немедленно. Если используется -f / - force, изменения отменяются. Параметр:

[кв.м]
сохранить изменения = Истина

заставить их вести себя так, как если бы были переданы --keep-changes, и неконфликтные локальные изменения будут
терпеть и сохранять. Если несовместимые параметры, такие как -f / - force или --exact, являются
пройдено, этот параметр игнорируется.

Это расширение используется для предоставления команды полосы. Эта команда теперь живет в полосе
расширение.

Команды
qприменяется
распечатайте уже примененные патчи:

hg qapplied [-1] [-s] [ПАТЧ]

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

Опции:

-1, --последний
показать только предыдущий примененный патч

-с, --резюме
напечатать первую строку заголовка патча

qclone
клонировать основной репозиторий и репозиторий патчей одновременно:

hg qclone [ОПЦИЯ] ... ИСТОЧНИК [DEST]

Если источник является локальным, к месту назначения не будут применены исправления. Если источник удален, это
команда не может проверить, применены ли исправления в исходном коде, поэтому не может гарантировать, что исправления
не применяются по назначению. Если вы клонируете удаленный репозиторий, убедитесь, что в нем есть
патчи не применяются.

Репозиторий исходного кода ищется в /.hg/patches по умолчанию. Используйте -p к
измениться.

Каталог исправлений должен быть вложенным репозиторием Mercurial, так как он был бы создан hg инициализации
--mq.

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

Опции:

--тянуть использовать протокол pull для копирования метаданных

-У, --noupdate
не обновляйте новые рабочие каталоги

- несжатый
использовать несжатую передачу (быстро по локальной сети)

-п,- патчи
расположение репозитория исходных патчей

-е,--шш
укажите команду ssh для использования

--remotecmd
укажите команду hg для запуска на удаленной стороне

--ненадежный
не проверять сертификат сервера (игнорируя конфигурацию web.cacerts)

qcommit
зафиксировать изменения в репозитории очереди (УСТАРЕЛО):

hg qcommit [ОПЦИЯ] ... [ФАЙЛ] ...

Эта команда устарела; использовать hg совершать --mq .

Опции:

-А, --adremove
пометьте новые / отсутствующие файлы как добавленные / удаленные перед фиксацией

--close-ветка
пометить головку ветки как закрытую

--исправлять
изменить родительский элемент рабочего каталога

-с, --секрет
использовать секретную фазу для совершения

-е, --редактировать
вызывать редактор для сообщений фиксации

-я, - интерактивный
использовать интерактивный режим

-Я,--включают
включать имена, соответствующие заданным шаблонам

-ИКС,--исключать
исключить имена, соответствующие заданным шаблонам

-м,--сообщение
использовать текст как сообщение фиксации

-л,--лог-файл
прочитать сообщение фиксации из файла

-д,--свидание
записать указанную дату как дату фиксации

-у,--Пользователь
записать указанного пользователя как коммиттера

-С, --subrepos
рекурсивно в субхранилища

[+] отмеченный вариант можно указывать несколько раз

псевдонимы: qci

удалить
удалить патчи из очереди:

hg qdelete [-k] [ПАТЧ] ...

Патчи не должны применяться, и требуется хотя бы один патч. Точный патч
должны быть указаны идентификаторы. С -k / - keep файлы патча сохраняются в патче.
каталог.

Чтобы прекратить управление патчем и переместить его в постоянную историю, используйте hg qфиниш команда.

Опции:

-к, --хранить
сохранить файл патча

-р,--rev
прекратить управление ревизией (УСТАРЕЛО)

[+] отмеченный вариант можно указывать несколько раз

псевдонимы: qremove qrm

qdiff
diff текущего патча и последующих модификаций:

hg qdiff [ОПЦИЯ] ... [ФАЙЛ] ...

Показывает разницу, которая включает текущий патч, а также любые внесенные изменения.
в рабочем каталоге с момента последнего обновления (таким образом, показывая, что текущий патч будет
становится после qrefresh).

Используйте hg Разница если вы хотите видеть только изменения, внесенные с момента последнего qrefresh, или hg экспорт
QTIP если вы хотите увидеть изменения, внесенные текущим патчем, без учета внесенных изменений
поскольку qrefresh.

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

Опции:

-a --текст
рассматривать все файлы как текст

-грамм, --git
использовать расширенный формат сравнения git

- узлы
опускать даты из заголовков различий

--noprefix
опускать префиксы a / и b / в именах файлов

-п, --show-функция
показать, в какой функции находится каждое изменение

--задний ход
создать разницу, которая отменяет изменения

-ш, --игнорировать все пробелы
игнорировать пробелы при сравнении строк

-б, --ignore-space-change
игнорировать изменения количества белого пространства

-Б, --игнорировать пустые строки
игнорировать изменения, все строки которых пусты

-У,- объединенный
количество строк контекста для отображения

--stat вывести сводку изменений в стиле diffstat

--корень
создавать различия относительно подкаталога

-Я,--включают
включать имена, соответствующие заданным шаблонам

-ИКС,--исключать
исключить имена, соответствующие заданным шаблонам

[+] отмеченный вариант можно указывать несколько раз

qфиниш
перенести примененные патчи в историю репозитория:

hg qfinish [-a] [REV] ...

Завершает указанные ревизии (соответствующие примененным исправлениям), перемещая их из
mq в обычную историю репозитория.

Принимает диапазон ревизий или примененную опцию -a / -. Если указано --applied, все
примененные ревизии mq удаляются из управления mq. В противном случае данные изменения должны быть
в основании стопки нанесенных заплат.

Это может быть особенно полезно, если ваши изменения были применены к вышестоящему репозиторию,
или если вы собираетесь отправить свои изменения в апстрим.

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

Опции:

-a --применяемый
завершить все примененные ревизии

qfold
сворачиваем названные патчи в текущий патч:

hg qfold [-e] [-k] [-m ТЕКСТ] [-l ФАЙЛ] ПАТЧ ...

Патчи пока применять нельзя. Каждый патч будет последовательно применяться к текущему
патч в указанном порядке. Если все патчи применяются успешно, текущий патч будет
обновляется новым накопительным патчем, а свернутые патчи будут удалены. С участием
-k / - сохранить, свернутые файлы патчей впоследствии не удаляются.

Заголовок каждого свернутого патча будет объединен с заголовком текущего патча,
разделены линией * * *.

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

Опции:

-е, --редактировать
вызывать редактор для сообщений фиксации

-к, --хранить
хранить свернутые файлы патчей

-м,--сообщение
использовать текст как сообщение фиксации

-л,--лог-файл
прочитать сообщение фиксации из файла

qgoto
нажимайте или вставляйте патчи, пока названный патч не окажется наверху стека:

hg qgoto [ОПЦИЯ] ... ПАТЧ

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

Опции:

--смена
терпеть неконфликтные локальные изменения

-ф, --сила
перезаписать любые локальные изменения

--без резервного копирования
не сохранять резервные копии файлов

qguard
установить или распечатать щитки для нашивки:

hg qguard [-l] [-n] [ПАТЧ] [- [+ GUARD] ... [-GUARD] ...]

Охранники контролируют, можно ли выдвинуть патч. Патч без охранников всегда выталкивается. А
патч с положительной защитой ("+ foo") помещается только в том случае, если hg БВЫБОР команда имеет
активировал его. Патч с отрицательной защитой ("-foo") никогда не запускается, если hg БВЫБОР
команда активировала его.

Без аргументов выведите текущих активных охранников. С аргументами поставьте охрану
названный патч.

Примечание. Для указания отрицательной защиты теперь требуется знак «-».

Чтобы установить охрану на другом патче:

hg qguard other.patch - +2.6.17 -стабильная

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

Опции:

-л, --список
перечислить все патчи и охранники

-н, --никто
бросить всех охранников

qheader
распечатать заголовок самого верхнего или указанного патча:

hg qheader [ПАТЧ]

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

импорт
импортировать патч или существующий набор изменений:

hg qimport [-e] [-n ИМЯ] [-f] [-g] [-P] [-r REV] ... [ФАЙЛ] ...

Патч вставляется в серию после последнего примененного патча. Если нет патчей
был применен, qimport добавляет патч в серию.

Патч будет иметь то же имя, что и его исходный файл, если вы не дадите ему новое с помощью
-n / - имя.

Вы можете зарегистрировать существующий патч внутри каталога патчей с помощью флага -e / - existing.

При использовании -f / - force существующий патч с тем же именем будет перезаписан.

Существующий набор изменений может быть помещен под контроль mq с помощью -r / - rev (например, qimport --rev.
-n patch поместит текущую ревизию под контроль mq). С -g / - git, патчи
импортированный с --rev будет использовать формат git diff. Дополнительную информацию см. В разделе справки по diffs.
о том, почему это важно для сохранения информации о переименовании / копировании и изменениях разрешений.
Используйте hg qфиниш для удаления ревизий из элемента управления mq.

Чтобы импортировать патч из стандартного ввода, передайте - в качестве файла патча. При импорте из
стандартный ввод, имя патча должно быть указано с помощью флага --name.

Чтобы импортировать существующий патч при его переименовании:

hg qimport -e существующий-патч -n новое-имя

Возвращает 0, если импорт успешно.

Опции:

-е, --существующий
импортировать файл в каталог исправлений

-н,--имя
имя файла патча

-ф, --сила
перезаписать существующие файлы

-р,--rev
поместить существующие версии под контроль mq

-грамм, --git
использовать расширенный формат сравнения git

-П, --толкать
qpush после импорта

[+] отмеченный вариант можно указывать несколько раз

кинит
инициировать новый репозиторий очереди (УСТАРЕЛО):

hg цинит [-c]

По умолчанию репозиторий очереди не версионирован. Если указан -c / - create-repo, qinit
создаст отдельный вложенный репозиторий для патчей (qinit -c также может быть запущен позже, чтобы
конвертировать неверсированный репозиторий патчей в версионный). Вы можете использовать qcommit для
зафиксировать изменения в этом репозитории очереди.

Эта команда устарела. Без -c это подразумевается другими соответствующими командами. С -c,
использование hg инициализации --mq .

Опции:

-с, --create-репо
создать репозиторий очереди

qновый
создать новый патч:

hg qnew [-e] [-m ТЕКСТ] [-l ФАЙЛ] ПАТЧ [ФАЙЛ] ...

qnew создает новый патч поверх текущего патча (если есть). Патч будет
инициализируется любыми невыполненными изменениями в рабочем каталоге. Вы также можете использовать
-I / - include, -X / - exclude и / или список файлов после имени патча для добавления только
изменения файлов, соответствующих новому патчу, оставив остальные как незафиксированные изменения.

-u / - user и -d / - date могут использоваться для установки (данного) пользователя и даты соответственно.
-U / - currentuser и -D / - currentdate установить пользователя на текущего пользователя и дату на текущую дату.

-e / - edit, -m / - message или -l / - logfile установить заголовок патча, а также фиксацию
сообщение. Если ничего не указано, заголовок пуст, а сообщение фиксации - '[mq]:
ПЛАСТЫРЬ'.

Используйте параметр -g / - git, чтобы сохранить патч в формате расширенного сравнения git. Прочтите различия
раздел справки для получения дополнительной информации о том, почему это важно для сохранения изменений разрешений.
и копировать / переименовывать информацию.

Возвращает 0 при успешном создании нового патча.

Опции:

-е, --редактировать
вызывать редактор для сообщений фиксации

-ф, --сила
импортировать незафиксированные изменения (УСТАРЕЛО)

-грамм, --git
использовать расширенный формат сравнения git

-У, --текущий пользователь
добавить "От: "патчить

-у,--Пользователь
добавить "От: "патчить

-Д, --текущая дата
добавить "Дата: "патчить

-д,--свидание
добавить "Дата: "патчить

-Я,--включают
включать имена, соответствующие заданным шаблонам

-ИКС,--исключать
исключить имена, соответствующие заданным шаблонам

-м,--сообщение
использовать текст как сообщение фиксации

-л,--лог-файл
прочитать сообщение фиксации из файла

[+] отмеченный вариант можно указывать несколько раз

Qnext
напечатайте название следующего выталкиваемого патча:

hg qследующий [-s]

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

Опции:

-с, --резюме
напечатать первую строку заголовка патча

qpop
удалить текущий патч из стека:

hg qpop [-a] [-f] [ПАТЧ | ПОКАЗАТЕЛЬ]

Без аргументов всплывает с вершины стека патчей. Если дано имя патча, сохраняет
выскакивать патчи, пока названный патч не окажется наверху стека.

По умолчанию отменяется, если рабочий каталог содержит незафиксированные изменения. С участием
--keep-changes, прервать, только если незафиксированные файлы перекрываются с исправленными файлами. С участием
-f / - принудительно, резервировать и отменить изменения, внесенные в такие файлы.

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

Опции:

-a --все
вытащить все патчи

-н,--имя
имя очереди для извлечения (УСТАРЕЛО)

--смена
терпеть неконфликтные локальные изменения

-ф, --сила
Забудьте о любых локальных изменениях в исправленных файлах

--без резервного копирования
не сохранять резервные копии файлов

предыдущая
напечатайте название предыдущего примененного патча:

hg qпред [-s]

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

Опции:

-с, --резюме
напечатать первую строку заголовка патча

qpush
поместите следующий патч в стек:

hg qpush [-f] [-l] [-a] [--move] [ПАТЧ | ПОКАЗАТЕЛЬ]

По умолчанию отменяется, если рабочий каталог содержит незафиксированные изменения. С участием
--keep-changes, прервать, только если незафиксированные файлы перекрываются с исправленными файлами. С участием
-f / - принудительно выполнить резервное копирование и исправить незафиксированные изменения.

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

Опции:

--смена
терпеть неконфликтные локальные изменения

-ф, --сила
применять поверх локальных изменений

-е, --точный
применить целевой патч к его записанному родителю

-л, --список
перечислить имя патча в тексте коммита

-a --все
применить все патчи

-м, - объединить
объединить из другой очереди (УСТАРЕЛО)

-н,--имя
имя очереди слияния (УСТАРЕЛО)

--двигаться изменить порядок серий патчей и применить только патч

--без резервного копирования
не сохранять резервные копии файлов

очередь
управлять несколькими очередями исправлений:

hg qqueue [ВАРИАНТ] [ОЧЕРЕДЬ]

Поддерживает переключение между разными очередями исправлений, а также создание новых очередей исправлений.
и удаление существующих.

Если опустить имя очереди или указать -l / - list покажет вам зарегистрированные очереди - by
по умолчанию прописана "обычная" очередь патчей. Текущая активная очередь будет
отмечен знаком «(активен)». Если указать --active, будет выведено только имя активной очереди.

Чтобы создать новую очередь, используйте -c / - create. Очередь становится активной автоматически, за исключением
случай, когда применяются исправления из текущей активной очереди в
репозиторий. Тогда очередь будет только создаваться и переключение не состоится.

Чтобы удалить существующую очередь, используйте --delete. Вы не можете удалить текущую активную очередь.

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

Опции:

-л, --список
перечислить все доступные очереди

--активный
распечатать имя активной очереди

-с, --Создайте
создать новую очередь

--переименовать
переименовать активную очередь

--удалять
удалить ссылку на очередь

--purge
удалить очередь и удалить каталог исправлений

qобновить
обновить текущий патч:

hg qrefresh [-I] [-X] [-e] [-m ТЕКСТ] [-l ФАЙЛ] [-s] [ФАЙЛ] ...

Если предоставлены какие-либо шаблоны файлов, обновленный патч будет содержать только модификации
которые соответствуют этим шаблонам; остальные доработки останутся в работе
каталог.

Если указано -s/--short, файлы, включенные в данный момент в патч, будут обновлены только
как совпадающие файлы и остаются в патче.

Если указан параметр -e/--edit, Mercurial запустит настроенный вами редактор, чтобы вы могли ввести
сообщение. В случае сбоя qrefresh вы найдете резервную копию вашего сообщения в
.hg / последнее-сообщение.txt.

hg add/remove/copy/rename работает как обычно, хотя вы можете использовать патчи в стиле git
(-g/--git или [diff] git=1) для отслеживания копий и переименований. Дополнительные сведения см. в разделе справки о различиях.
информация о формате git diff.

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

Опции:

-е, --редактировать
вызывать редактор для сообщений фиксации

-грамм, --git
использовать расширенный формат сравнения git

-с, --короткая
обновлять только файлы, уже находящиеся в патче, и указанные файлы

-У, --текущий пользователь
добавить/обновить поле автора в патче с текущим пользователем

-у,--Пользователь
добавить/обновить поле автора в патче с данным пользователем

-Д, --текущая дата
добавить/обновить поле даты в патче с текущей датой

-д,--свидание
добавить/обновить поле даты в патче с заданной датой

-Я,--включают
включать имена, соответствующие заданным шаблонам

-ИКС,--исключать
исключить имена, соответствующие заданным шаблонам

-м,--сообщение
использовать текст как сообщение фиксации

-л,--лог-файл
прочитать сообщение фиксации из файла

[+] отмеченный вариант можно указывать несколько раз

переименовать
переименовать патч:

hg qrename PATCH1 [PATCH2]

С одним аргументом переименовывает текущий патч в PATCH1. С двумя аргументами переименовывает
PATCH1 до PATCH2.

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

псевдонимы: qmv

qвосстановить
восстановить состояние очереди, сохраненное ревизией (УСТАРЕЛО):

hg qrestore [-d] [-u] REV

Эта команда устарела, используйте hg перебазировать .

Опции:

-д, --удалять
удалить сохраненную запись

-у, --Обновить
обновить рабочий каталог очереди

qсохранить
сохранить текущее состояние очереди (УСТАРЕЛО):

hg qsave [-m ТЕКСТ] [-l ФАЙЛ] [-c] [-n ИМЯ] [-e] [-f]

Эта команда устарела, используйте hg перебазировать .

Опции:

-с, - копия
скопировать каталог патчей

-н,--имя
скопировать имя каталога

-е, --пустой
очистить файл состояния очереди

-ф, --сила
принудительное копирование

-м,--сообщение
использовать текст как сообщение фиксации

-л,--лог-файл
прочитать сообщение фиксации из файла

БВЫБОР
установить или распечатать защищенные патчи для отправки:

hg qвыберите [ОПЦИЯ]... [ЗАЩИТА]...

Использовать hg qguard команда для установки или печати охранников на патче, затем используйте qselect, чтобы сообщить mq
какие охранники использовать. Патч будет отправлен, если у него нет охранников или каких-либо положительных охранников.
соответствует текущему выбранному охраннику, но не будет выталкиваться, если совпадают какие-либо отрицательные охранники
действующий охранник. Например:

qguard foo.patch -- -stable (отрицательная защита)
qguard bar.patch +stable (положительный сторож)
qвыбрать стабильный

Это активирует «стабильную» защиту. mq пропустит foo.patch (поскольку у него отрицательный
match), но нажмите bar.patch (потому что он имеет положительное совпадение).

Без аргументов выводит активных в данный момент охранников. С одним аргументом устанавливает активный
охранник.

Используйте -n/--none для деактивации защиты (другие аргументы не нужны). Когда нет охраны
активны, патчи с положительной защитой пропускаются, а исправления с отрицательной защитой
толкнул.

qselect может изменить защиту на применяемых исправлениях. Он не выталкивает защищенные патчи
дефолт. Используйте --pop, чтобы вернуться к последнему примененному патчу, который не защищен. Использовать
--reapply (что подразумевает --pop), чтобы впоследствии вернуться к текущему патчу, но пропустить
охраняемые патчи.

Используйте -s/--series для печати списка всех охранников в файле серии (без других аргументов).
нужный). Используйте -v для получения дополнительной информации.

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

Опции:

-н, --никто
отключить всех охранников

-с, --серии
перечислить всех охранников в файле серии

- поп всплывающее перед первым защищенным примененным патчем

- повторно нанести
вытолкнуть, затем повторно применить патчи

серия q
распечатать весь файл серии:

hg qseries [-мс]

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

Опции:

-м, --отсутствует
печатать патчи не сериями

-с, --резюме
напечатать первую строку заголовка патча

qtop
вывести название текущего патча:

hg qtop [-s]

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

Опции:

-с, --резюме
напечатать первую строку заголовка патча

подавленный
распечатать еще не примененные исправления:

hg qunapplied [-1] [-s] [ПАТЧ]

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

Опции:

-1, --первый
показать только первый патч

-с, --резюме
напечатать первую строку заголовка патча

уведомлять
хуки для отправки push-уведомлений по электронной почте

Это расширение реализует ловушки для отправки уведомлений по электронной почте, когда наборы изменений отправляются из
или получены локальным репозиторием.

Сначала включите расширение, как описано в hg помощь расширения, и зарегистрируйте хук, который вы
хочу бежать. входящий и изменить группу хуки запускаются при получении наборов изменений, а
исходящий хуки предназначены для наборов изменений, отправленных в другой репозиторий:

[крючки]
# одно электронное письмо для каждого входящего набора изменений
incoming.notify = python:hgext.notify.hook
# одно электронное письмо для всех входящих наборов изменений
Changegroup.notify = Python:hgext.notify.hook

# одно электронное письмо для всех исходящих наборов изменений
исходящий.уведомление = python:hgext.notify.hook

Это регистрирует хуки. Чтобы включить уведомление, подписчики должны быть назначены
репозитории. То [пользователи] Раздел сопоставляет несколько репозиториев с данным получателем. То
[репозитории] раздел сопоставляет нескольких получателей с одним репозиторием:

[пользователи]
# ключ — адрес электронной почты подписчика, значение — список шаблонов репо, разделенных запятыми
пользователь@хост = шаблон

[репозитории]
# ключ — шаблон репо, значение — список адресов электронной почты подписчиков, разделенных запятыми
шаблон = пользователь@хост

A описания - это земной шар соответствие абсолютному пути к репозиторию, при необходимости в сочетании с
выражение ревсета. Выражение revset, если оно присутствует, отделяется от общего значения решеткой.
Пример:

[репозитории]
*/widgets#ветка(выпуск) = qa-team@example.com

Это отправляет в qa-team@example.com всякий раз, когда набор изменений на освободить ветвь запускает
уведомление в любом репозитории, оканчивающееся на виджеты.

Чтобы поставить их под прямое управление пользователями, [пользователи] и [репозитории] разделах
можно разместить в отдельном hgrc файл и включен по ссылке:

[уведомлять]
config = /путь/к/файлу подписки

Уведомления не будут отправляться до тех пор, пока уведомить.test значение установлено в Ложь; увидеть ниже.

Содержимое уведомлений можно настроить с помощью следующих элементов конфигурации:

уведомить.test
If Правда, выводить сообщения на стандартный вывод вместо их отправки. По умолчанию: Истина.

уведомить.источники
Разделенный пробелами список источников изменений. Уведомления активируются только при
источник набора изменений находится в этом списке. Источниками могут быть:

служить

наборы изменений, полученные через http или ssh

тянуть

наборы изменений, полученные через hg тянуть

Unbundle

наборы изменений, полученные через hg Unbundle

протолкнуть.

наборы изменений, отправленные или полученные через hg протолкнуть.

пакет

наборы изменений, отправленные через hg Unbundle

По умолчанию: служить.

уведомить.strip
Количество начальных косых черт, которые нужно удалить из URL-адресов. По умолчанию уведомления
ссылочные репозитории с их абсолютным путем. уведомить.strip позволяет вам превратить их
в относительные пути. Например, уведомление.strip=3 изменится /длинный/путь/репозиторий
в хранилище. По умолчанию: 0.

уведомить.домен
Домен электронной почты по умолчанию для отправителя или получателей без явного домена.

уведомить.стиль
Файл стиля для использования при форматировании электронных писем.

уведомить.шаблон
Шаблон для использования при форматировании электронных писем.

уведомить.входящий
Шаблон для использования при запуске в качестве входящего хука, переопределение уведомить.шаблон.

уведомить.исходящий
Шаблон для использования при запуске в качестве исходящего хука, переопределение уведомить.шаблон.

уведомить.changegroup
Шаблон для использования при работе в качестве хука группы изменений, переопределение уведомить.шаблон.

уведомление.maxdiff
Максимальное количество строк различий для включения в электронное письмо с уведомлением. Установите на 0, чтобы отключить
diff или -1, чтобы включить все это. По умолчанию: 300.

уведомить.maxsubject
Максимальное количество символов в строке темы письма. По умолчанию: 67.

уведомление.diffstat
Установите значение True, чтобы включить diffstat перед содержимым diff. По умолчанию: Истина.

уведомить.объединить
Если True, отправлять уведомления о слиянии наборов изменений. По умолчанию: Истина.

уведомление.mbox
Если установлено, добавлять письма в этот файл mbox вместо отправки. По умолчанию: Нет.

уведомить.от автора
Если установлено, используйте коммиттер первого набора изменений в группе изменений для «От».
поле почтового уведомления. Если не задано, взять пользователя из репозитория push.
По умолчанию: False.

Если установлено, следующие записи также будут использоваться для настройки уведомлений:

электронная почта.от
Эл. адрес от адрес для использования, если ни один не может быть найден в сгенерированном содержимом электронной почты.

веб.baseurl
URL-адрес корневого репозитория для объединения с путями репозитория при создании ссылок. Видеть
причислены уведомить.strip.

пейджер
просматривать вывод команды с помощью внешнего пейджера

Чтобы установить пейджер, который следует использовать, установите переменную приложения:

[пейджер]
пейджер = меньше -FRX

Если пейджер не установлен, расширения пейджера используют переменную среды $PAGER. Если ни
pager.pager, $PAGER не установлен, пейджер не используется.

Вы можете отключить пейджер для определенных команд, добавив их в список pager.ignore:

[пейджер]
ignore = версия, справка, обновление

Вы также можете включить пейджер только для определенных команд, используя pager.attend. Ниже приведен
список команд по умолчанию для страниц:

[пейджер]
присутствовать = аннотировать, кошка, diff, экспорт, glog, журнал, qdiff

Установка для pager.attend пустого значения приведет к тому, что все команды будут пейджинговыми.

Если присутствует pager.attend, pager.ignore будет проигнорирован.

Наконец, вы можете включать и отключать пейджинг для отдельных команд с помощью
присутствовать- вариант. Этот параметр имеет приоритет над существующими параметрами посещения и игнорирования.
параметры и значения по умолчанию:

[пейджер]
присутствовать-кошка = ложь

Чтобы игнорировать глобальные команды, такие как hg версия or hg помощь, вы должны указать их в своем
файл конфигурации пользователя.

Чтобы контролировать, используется ли вообще пейджер для отдельной команды, вы можете использовать
--пейджер= :

- используйте по мере необходимости: `авто`.
- требовать пейджер: `да` или `включено`.
- подавить пейджер: `нет` или `выкл` (любое нераспознанное значение
тоже будет работать).

заплаточная бомба
команда для отправки наборов изменений в виде (серии) писем с исправлениями

Серия начинается с введения «[PATCH 0 of N]», в котором описывается серия.
в целом.

Каждое электронное письмо с исправлениями имеет строку «Тема» «[ИСПРАВЛЕНИЕ M из N] ...", используя первую строку сообщения.
описание набора изменений в качестве текста темы. Сообщение состоит из двух или трех частей тела:

· Описание набора изменений.

· [Необязательно] Результат запуска diffstat для патча.

· Сам патч, сгенерированный hg экспорт.

Каждое сообщение ссылается на первое в серии, используя In-Reply-To и References.
заголовки, поэтому они будут отображаться в виде последовательности в цепочках писем и программ чтения новостей, а также в почтовых
архивы.

Чтобы настроить другие значения по умолчанию, добавьте в файл конфигурации такой раздел:

[Эл. адрес]
от = Мое имя
to = получатель1, получатель2, ...
cc = cc1, cc2, ...
bcc = bcc1, bcc2, ...
ответ-кому = адрес1, адрес2, ...

Используйте [патч-бомба] как имя раздела конфигурации, если вам нужно переопределить глобальный [Эл. адрес]
настройки адреса.

Тогда вы можете использовать hg e-mail Команда для отправки по почте серии наборов изменений в виде патч-бомбы.

Вы также можете настроить параметр метода в разделе электронной почты, чтобы он был sendmail
совместимую почтовую программу или заполните раздел [smtp], чтобы расширение patchbomb могло
автоматически отправлять патч-бомбы прямо из командной строки. Смотрите [email] и [smtp]
разделы в hgrc(5) для подробностей.

По умолчанию hg e-mail подскажет к or CC заголовок, если вы не предоставляете его через
конфигурации или командной строки. Вы можете переопределить это, чтобы никогда не запрашивать, настроив
пустое значение:

[Эл. адрес]
куб.см =

Вы можете контролировать включение вводного сообщения по умолчанию с помощью кнопки patchbomb.intro
вариант конфигурации. Конфигурация всегда перезаписывается флагами командной строки, такими как
--intro и --desc:

[патч-бомба]
intro=auto # включить вводное сообщение, если более 1 патча (по умолчанию)
intro=never # никогда не включать вводное сообщение
intro=always # всегда включать вступительное сообщение

Вы можете настроить patchbomb так, чтобы он всегда запрашивал подтверждение, установив patchbomb.confirm к истине.

Команды
e-mail
отправить наборы изменений по электронной почте:

hg электронная почта [ВАРИАНТ]... [ЦЕЛЬ]...

По умолчанию различия отправляются в формате, сгенерированном hg экспорт, по одному на сообщение. То
Серия начинается с вступления «[PATCH 0 of N]», которое описывает серию в целом.

Каждое электронное письмо с исправлениями имеет строку «Тема» «[ИСПРАВЛЕНИЕ M из N] ...", используя первую строку сообщения.
описание набора изменений в качестве текста темы. Сообщение состоит из двух или трех частей.
Во-первых, описание набора изменений.

С опцией -d/--diffstat, если программа diffstat установлена, результат запуска
диффстат на патче вставлен.

Наконец, сам патч, сгенерированный hg экспорт.

С опциями -d/--diffstat или --confirm вам будет представлена ​​окончательная сводка
все сообщения и запросить подтверждение перед отправкой сообщений.

По умолчанию исправление включено в текст сообщения электронной почты для удобства просмотра. С помощью
Параметр -a/--attach вместо этого создаст вложение для исправления. С -i/--inline
встроенное вложение будет создано. Вы можете включить патч как в виде текста в тело письма
и как обычное или встроенное вложение, комбинируя -a/--attach или -i/--inline с
параметр --body.

С параметром -o/--outgoing электронные письма будут генерироваться для исправлений, не найденных в месте назначения.
репозиторий (или только те, которые являются предками указанных ревизий, если таковые имеются).
при условии)

С -b/--bundle наборы изменений выбираются так же, как и для --outgoing, но одно электронное письмо, содержащее
будет отправлен бинарный пакет Mercurial в качестве вложения. Использовать patchbomb.bundletype
config для управления типом пакета, как с hg пакет --тип.

С помощью -m/--mbox вместо предварительного просмотра каждого сообщения patchbomb на пейджере или отправки
сообщений напрямую, он создаст файл почтового ящика UNIX с сообщениями об исправлениях. Этот почтовый ящик
файл можно предварительно просмотреть с помощью любого почтового агента пользователя, который поддерживает файлы UNIX mbox.

С -n/--test все шаги будут выполнены, но почта не будет отправлена. Вам будет предложено ввести
адрес получателя электронной почты, тема и вступительное сообщение с описанием исправлений
вашей патч-бомбы. Затем, когда все сделано, отображаются сообщения patchbomb. Если ПЕЙДЖЕР
установлена ​​переменная среды, ваш пейджер будет запускаться один раз для каждого сообщения patchbomb,
чтобы вы могли убедиться, что все в порядке.

В случае, если отправка электронной почты не удалась, вы найдете резервную копию вступительного сообщения вашей серии в
.hg/последнее письмо.txt.

Поведение этой команды по умолчанию можно настроить с помощью конфигурации. (Видеть hg помощь
заплаточная бомба для более подробной информации)

Примеры:

hg email -r 3000 # отправить только патч 3000
hg email -r 3000 -r 3001 # отправить исправления 3000 и 3001
hg email -r 3000:3005 # отправить исправления с 3000 по 3005
hg email 3000 # отправить патч 3000 (устаревший)

hg email -o # отправить все исправления не по умолчанию
hg email -o DEST # отправить все исправления не в DEST
hg email -o -r 3000 # отправить всех предков 3000 не по умолчанию
hg email -o -r 3000 DEST # отправить всех предков 3000 не в DEST

hg email -b # отправить пакет всех исправлений не по умолчанию
hg email -b DEST # отправить пакет всех исправлений, которых нет в DEST
hg email -b -r 3000 # пакет всех предков 3000 не по умолчанию
hg email -b -r 3000 DEST # пакет всех предков 3000 не в DEST

hg email -o -m mbox && # создать файл mbox...
mutt -R -f mbox # ... и просмотреть его с помощью mutt
hg email -o -m mbox && # создать файл mbox ...
formail -s sendmail \ # ... и использовать formail для отправки из mbox
-bm -t < mbox # ... с помощью sendmail

Перед использованием этой команды вам необходимо включить электронную почту в файле hgrc. Смотрите [электронная почта]
в разделе hgrc(5) для подробностей.

Опции:

-грамм, --git
использовать расширенный формат сравнения git

--простой
опустить заголовок исправления hg

-о, --исходящий
отправить изменения, не найденные в целевом репозитории

-б, --пучок
отправлять изменения не в цель в виде бинарного пакета

--bundlename
имя вложенного файла пакета (по умолчанию: пакет)

-р,--rev
редакция для отправки

--сила
работать, даже если удаленный репозиторий не связан (с -b/--bundle)

--база
базовый набор изменений для указания вместо места назначения (с -b/--bundle)

--вступление
отправить вводное электронное письмо для одного патча

--тело отправлять исправления в виде встроенного текста сообщения (по умолчанию)

-a --прикреплять
отправлять патчи в виде вложений

-я, --в линию
отправлять исправления как встроенные вложения

--скрытая копия
адреса электронной почты получателей скрытой копии

-с,--cc
адреса электронной почты получателей копии

--подтверждать
запрашивать подтверждение перед отправкой

-д, --diffstat
добавить вывод diffstat в сообщения

--свидание
использовать указанную дату в качестве даты отправки

--деск
использовать данный файл в качестве описания серии

-ф,--из
электронный адрес отправителя

-н, --тестовое задание
печатать сообщения, которые будут отправлены

-м,--mbox
писать сообщения в файл mbox вместо их отправки

--ответить на
адреса электронной почты ответы должны быть отправлены на

-с,--тема
тема первого сообщения (интро или отдельный патч)

--в ответ на
идентификатор сообщения, на которое нужно ответить

--флаг
флаги для добавления в префиксы темы

-т,--к
адреса электронной почты получателей

-е,--шш
укажите команду ssh для использования

--remotecmd
укажите команду hg для запуска на удаленной стороне

--ненадежный
не проверять сертификат сервера (игнорируя конфигурацию web.cacerts)

[+] отмеченный вариант можно указывать несколько раз

чистка
команда для удаления неотслеживаемых файлов из рабочего каталога

Команды
чистка
удаляет файлы, не отслеживаемые Mercurial:

hg purge [ОПЦИЯ]... [КАТАЛОГ]...

Удалите файлы, неизвестные Mercurial. Это полезно для проверки локальных и незафиксированных изменений.
в чистом исходном дереве.

Это означает, что по умолчанию purge удалит следующее:

· Неизвестные файлы: файлы, отмеченные знаком "?" от hg статус

· Пустые каталоги: на самом деле Mercurial игнорирует каталоги, если они не содержат файлы в
управление исходным кодом

Но оставим нетронутыми:

· Измененные и неизмененные отслеживаемые файлы

· Игнорируемые файлы (если не указан параметр --all)

· В репозиторий добавляются новые файлы (с hg )

Параметры --files и --dirs можно использовать для прямой очистки, чтобы удалить только файлы, только
каталоги или и то, и другое. Если ни один из вариантов не указан, оба будут удалены.

Если каталоги указаны в командной строке, будут доступны только файлы в этих каталогах.
считается.

Будьте осторожны с очисткой, так как вы можете безвозвратно удалить некоторые файлы, которые вы забыли добавить в
хранилище. Если вы хотите распечатать только список файлов, которые эта программа
удалить, используйте параметр --print.

Опции:

-a --прервать по ошибке
прервать, если возникает ошибка

--все также очистить игнорируемые файлы

--дирс очистить пустые каталоги

--файлы
очистить файлы

-п, --Распечатать
печатать имена файлов вместо их удаления

-0, --print0
заканчивать имена файлов с помощью NUL для использования с xargs (подразумевается -p/--print)

-Я,--включают
включать имена, соответствующие заданным шаблонам

-ИКС,--исключать
исключить имена, соответствующие заданным шаблонам

[+] отмеченный вариант можно указывать несколько раз

псевдонимы: чистый

перебазировать
команда для перемещения наборов ревизий к другому предку

Это расширение позволяет перебазировать наборы изменений в существующем репозитории Mercurial.

Для получения дополнительной информации: https://mercurial-scm.org/wiki/RebaseExtension

Команды
перебазировать
переместите набор изменений (и потомков) в другую ветку:

hg rebase [-s REV | -b REV] [-d REV] [ОПЦИЯ]

Rebase использует многократное слияние для пересадки наборов изменений из одной части истории (источника).
на другой (пункт назначения). Это может быть полезно для линеаризации локальным изменения относительные
к основному дереву разработки.

Опубликованные коммиты не могут быть перебазированы (см. hg помощь фаз). Чтобы скопировать коммиты, см. hg помощь
Трансплантат.

Если вы не укажете целевой набор изменений (-d/--назначение), rebase использует текущую ветку
наконечник в качестве пункта назначения. (Целевой набор изменений не изменяется путем перебазирования, но создается новый
наборы изменений добавляются как его потомки.)

Вот способы выбора наборов изменений:

1. Явно выберите их с помощью --rev.

2. Использовать --источник чтобы выбрать корневой набор изменений и включить все его потомки.

3. Использовать --база выбрать набор изменений; rebase найдет предков и их потомков
которые также не являются предками пункта назначения.

4. Если вы не укажете ни одного из --rev, источникили --база, rebase будет использовать --база . as
выше.

Rebase уничтожит исходные наборы изменений, если вы не используете --хранить. Это также переместит ваш
закладки (даже если вы это делаете).

Некоторые наборы изменений могут быть удалены, если они не вносят изменений (например, слияния из
отделение назначения).

В отличие от слияние, rebase ничего не сделает, если вы находитесь на вершине именованной ветки с
две головы. Вам нужно будет явно указать источник и/или место назначения.

Если перебазирование прерывается для ручного разрешения конфликта, его можно продолжить с помощью
--continue/-c или прервано с помощью --abort/-a.

Примеры:

· переместить «локальные изменения» (текущий коммит обратно в точку ветвления) в конец текущей ветки
после тяги:

hg перебазировать

· переместить один набор изменений в стабильную ветку:

hg rebase -r 5f493448 -d стабильный

· соединить фиксацию и всех ее потомков с другой частью истории:

hg rebase --source c0c3 --dest 4cf9

· перебазировать все на ветке, отмеченной закладкой, на ветку по умолчанию:

hg rebase --base myfeature --dest по умолчанию

· свернуть последовательность изменений в один коммит:

hg перебазировать --collapse -r 1520:1525 -d .

· переместить именованную ветку с сохранением ее имени:

hg rebase -r "ветвь (featureX)" -d 1.3 --keepbranches

Возвращает 0 в случае успеха, 1, если нечего перебазировать или есть неразрешенные конфликты.

Опции:

-с,--источник
перебазировать указанный набор изменений и потомков

-б,--база
перебазировать все из точки ветвления указанного набора изменений

-р,--rev
перебазировать эти версии

-д,- самый
перебазировать на указанный набор изменений

--крах
свернуть перебазированные наборы изменений

-м,--сообщение
использовать текст в качестве сообщения фиксации сворачивания

-е, --редактировать
вызывать редактор для сообщений фиксации

-л,--лог-файл
прочитать сообщение фиксации сворачивания из файла

-к, --хранить
сохранить исходные наборы изменений

--keepbranchs
сохранить исходные названия веток

-Д, --отсоединить
(УСТАРЕЛО)

-я, - интерактивный
(УСТАРЕЛО)

-т,--орудие труда
указать инструмент слияния

-с, --Продолжить
продолжить прерванную перебазировку

-a - отменить
прервать прерванную перебазировку

--стиль
отображение с использованием файла карты шаблона (УСТАРЕЛО)

-Т,--шаблон
отображение с шаблоном

[+] отмеченный вариант можно указывать несколько раз

запись
команды для интерактивного выбора изменений для фиксации / qrefresh

Команды
запись
интерактивно записать новый патч:

hg qrecord [ОПЦИЯ]... ИСПРАВЛЕНИЕ [ФАЙЛ]...

Увидеть hg помощь qновый & hg помощь запись для получения дополнительной информации и использования.

запись
интерактивно выберите изменения для фиксации:

hg запись [ОПЦИЯ]... [ФАЙЛ]...

Если список файлов опущен, обо всех изменениях сообщает hg статус будут кандидатами на
запись.

Увидеть hg помощь даты для списка форматов, допустимых для -d / - date.

Вам будет предложено указать, следует ли записывать изменения в каждый измененный файл, а для файлов
с несколькими изменениями, для каждого изменения для использования. Для каждого запроса следующие ответы
может:

y - записать это изменение
n - пропустить это изменение
e - отредактируйте это изменение вручную

s - пропустить оставшиеся изменения в этом файле
f - записать оставшиеся изменения в этот файл

d - готово, пропустить оставшиеся изменения и файлы
a - записать все изменения во все оставшиеся файлы
q - выйти, запись без изменений

? - показать справку

Эта команда недоступна при совершении слияния.

Опции:

-А, --adremove
пометьте новые / отсутствующие файлы как добавленные / удаленные перед фиксацией

--close-ветка
пометить головку ветки как закрытую

--исправлять
изменить родительский элемент рабочего каталога

-с, --секрет
использовать секретную фазу для совершения

-е, --редактировать
вызывать редактор для сообщений фиксации

-Я,--включают
включать имена, соответствующие заданным шаблонам

-ИКС,--исключать
исключить имена, соответствующие заданным шаблонам

-м,--сообщение
использовать текст как сообщение фиксации

-л,--лог-файл
прочитать сообщение фиксации из файла

-д,--свидание
записать указанную дату как дату фиксации

-у,--Пользователь
записать указанного пользователя как коммиттера

-С, --subrepos
рекурсивно в субхранилища

-ш, --игнорировать все пробелы
игнорировать пробелы при сравнении строк

-б, --ignore-space-change
игнорировать изменения количества белого пространства

-Б, --игнорировать пустые строки
игнорировать изменения, все строки которых пусты

[+] отмеченный вариант можно указывать несколько раз

повторно связать
воссоздает жесткие ссылки между клонами репозитория

Команды
повторно связать
воссоздать жесткие ссылки между двумя репозиториями:

hg relink [ИСТОЧНИК]

Когда репозитории клонируются локально, их файлы данных будут жестко связаны, чтобы они
использовать только пространство одного репозитория.

К сожалению, последующие загрузки в любой репозиторий сломают жесткие ссылки для любых файлов.
затронуты новыми наборами изменений, даже если оба репозитория в конечном итоге извлекают одни и те же изменения.

Точно так же передача --rev в "hg clone" не позволит использовать какие-либо жесткие ссылки, возвращаясь к
полная копия исходного репозитория.

Эта команда позволяет воссоздать эти жесткие ссылки и вернуть потерянное пространство.

Этот репозиторий будет повторно связан для совместного использования пространства с ORIGIN, который должен находиться на том же
локальный диск. Если ORIGIN опущен, ищет «повторная ссылка по умолчанию», затем «по умолчанию» в [пути].

Не пытайтесь выполнять какие-либо операции чтения в этом репозитории, пока выполняется команда. (Оба
репозитории будут заблокированы от записи.)

схемы
расширять схемы с помощью ярлыков для роя репозиториев

Это расширение позволяет указать ярлыки для родительских URL-адресов с большим количеством репозиториев.
действовать как схема, например:

[схемы]
ру = http://code.python.org/hg/

После этого вы можете использовать его как:

hg клонировать py://trunk/

Дополнительно есть поддержка некоторых более сложных схем, например, используемых Google.
Код:

[схемы]
gcode = http://{1}.googlecode.com/hg/

Синтаксис взят из шаблонов Mercurial, и у вас есть неограниченное количество переменных,
начиная с 1 {} и продолжая с 2 {}, 3 {} и так далее. Эти переменные получат
части предоставленного URL, разделенные на /. Все, что не указано как {часть} будет просто добавлено
на URL-адрес.

Для удобства расширение по умолчанию добавляет следующие схемы:

[схемы]
ру = http://hg.python.org/
бб = https://bitbucket.org/
бб+сш = сш://hg@bitbucket.org/
gcode = https://{1}.googlecode.com/hg/
печь = https://{1}.kilnhg.com/Repo/

Вы можете переопределить предопределенную схему, определив новую схему с тем же именем.

Share
иметь общую историю между несколькими рабочими каталогами

Автоматический Объединенный Хранилище для Клоны
Когда это расширение активно, hg клонировать можно настроить для автоматического совместного использования/пула
хранение в нескольких клонах. Этот режим эффективно преобразует hg клонировать в hg клонировать + hg
Share. Преимущество использования этого режима заключается в автоматическом управлении путями хранения и
интеллектуальное объединение связанных репозиториев.

Следующие акций. параметры конфигурации влияют на эту функцию:

доля.пул

Путь файловой системы, в котором будут храниться данные общего репозитория. Когда определено, hg клонировать
будет автоматически использовать общее хранилище репозитория вместо создания хранилища внутри
каждый клон.

share.poolnameming

Как имена каталогов в доля.пул построены.

«Идентичность» означает, что имя получено из первого набора изменений в репозитории. В
В этом режиме разные удаленные устройства совместно используют хранилище, если их корневой/начальный набор изменений
идентичный. В этом режиме локальный общий репозиторий представляет собой совокупность всех
столкнулся с удаленными репозиториями.

«удаленный» означает, что имя получено из пути или URL-адреса исходного репозитория. В
В этом режиме хранилище используется совместно только в том случае, если путь или URL-адрес запрошены в hg клонировать
команда точно соответствует репозиторию, который был клонирован ранее.

Режим именования по умолчанию — «удостоверение».

Команды
Share
создайте новый общий репозиторий:

hg share [-U] [-B] ИСТОЧНИК [ЦЕЛЬ]

Инициализируйте новый репозиторий и рабочий каталог, которые совместно используют свою историю (и, возможно,
закладки) с другим репозиторием.

Обратите внимание, что использование отката или расширений, которые уничтожают/изменяют историю (mq, rebase и т. д.), может
вызывают значительную путаницу с общими клонами. В частности, если два общих
клоны обновляются до одного и того же набора изменений, и один из них уничтожает этот
набор изменений с откатом, другой клон вдруг перестанет работать: все операции
завершится ошибкой с сообщением «Прервать: рабочий каталог имеет неизвестный родитель». Единственный известный
обходной путь - использовать debugsetparents для сломанного клона, чтобы сбросить его до набора изменений.
это все еще существует.

Опции:

-У, --noupdate
не создавать рабочий каталог

-Б, - закладки
также делитесь закладками

не делиться
преобразовать общий репозиторий в обычный:

хг не поделиться

Скопируйте данные хранилища в репозиторий и удалите данные общего пути.

откладывать в долгий ящик
сохранять и восстанавливать изменения в рабочем каталоге

Команда «hg shelve» сохраняет изменения, сделанные в рабочем каталоге, и отменяет их.
изменения, сброс рабочего каталога в чистое состояние.

Позже команда «hg unshelve» восстанавливает изменения, сохраненные «hg shelve». Изменения могут
быть восстановлены даже после обновления до другого родителя, и в этом случае слияние Mercurial
техника разрешит любые конфликты в случае необходимости.

У вас может быть более одного отложенного изменения одновременно; каждое отложенное изменение имеет
отличное имя. Подробнее см. в справке для "hg shelve".

Команды
откладывать в долгий ящик
сохранить и отложить изменения из рабочего каталога:

hg полка [ВАРИАНТ]... [ФАЙЛ]...

Shelving берет файлы, которые "hg status" сообщает как нечистые, сохраняет изменения в
пакет (отложенное изменение) и восстанавливает файлы так, чтобы их состояние в рабочем состоянии
каталог становится чистым.

Чтобы восстановить эти изменения в рабочем каталоге, используйте «hg unshelve»; это сработает
даже если вы переключитесь на другой коммит.

Когда файлы не указаны, «hg shelve» сохраняет все нечистые файлы. Если определенные файлы или
каталоги названы, откладываются только изменения в этих файлах.

У каждого отложенного изменения есть имя, по которому его будет легче найти позже. Название полки
изменить значения по умолчанию на основе активной закладки или, если активной закладки нет,
текущая именованная ветвь. Чтобы указать другое имя, используйте --имя.

Чтобы увидеть список существующих отложенных изменений, используйте кнопку --список вариант. За каждое отложенное изменение,
это напечатает его имя, возраст и описание; использовать --пластырь or --stat Больше подробностей.

Чтобы удалить определенные отложенные изменения, используйте --удалять. Чтобы удалить все отложенные изменения, используйте
- уборка.

Опции:

-А, --adremove
пометить новые/отсутствующие файлы как добавленные/удаленные перед размещением на полке

-у, --неизвестный
хранить неизвестные файлы на полке

- уборка
удалить все отложенные изменения

--свидание
отложить с указанной датой фиксации

-д, --удалять
удалить названные отложенные изменения

-е, --редактировать
вызывать редактор для сообщений фиксации

-л, --список
список текущих полок

-м,--сообщение
использовать текст в качестве сообщения на полке

-н,--имя
использовать данное имя для отложенной фиксации

-п, --пластырь
показать патч

-я, - интерактивный
интерактивный режим, работает только при создании полки

--stat вывести сводку изменений в стиле diffstat

-Я,--включают
включать имена, соответствующие заданным шаблонам

-ИКС,--исключать
исключить имена, соответствующие заданным шаблонам

[+] отмеченный вариант можно указывать несколько раз

убрать с полки
восстановить отложенное изменение в рабочий каталог:

hg убрать с полки [ПОЛКА]

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

Если отложенное изменение применено успешно, пакет, содержащий отложенные изменения,
перемещается в место резервного копирования (.hg/shelve-backup).

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

(В качестве альтернативы вы можете использовать - отменить отказаться от неполки, которая вызывает конфликт. Этот
отменяет неотложенные изменения и оставляет пакет на месте.)

После успешного снятия с полки отложенные изменения сохраняются в резервном каталоге. Только
сохраняются N самых последних резервных копий. N по умолчанию равно 10, но его можно переопределить с помощью
shelve.maxbackups вариант конфигурации.

Отметка времени в секундах используется для определения порядка резервного копирования. Больше, чем Максбэкапы резервные копии
сохраняется, если одна и та же временная метка не позволяет определить их точный порядок, для безопасности.

Опции:

-a - отменить
прервать незавершенную операцию распаковки

-с, --Продолжить
продолжить незавершенную операцию распаковки

-к, --хранить
держать полку после снятия с полки

-т,--орудие труда
указать инструмент слияния

--свидание
установить дату для временных коммитов (УСТАРЕЛО)

полоса
удалить ревизии и их потомков из истории

Это расширение позволяет вам удалять наборы изменений и всех их потомков из
репозиторий. Подробнее см. в справке по командам.

Команды
полоса
удалить наборы изменений и всех их потомков из репозитория:

hg strip [-k] [-f] [-B закладка] [-r] REV...

Команда strip удаляет указанные наборы изменений и все их потомки. Если
в рабочем каталоге есть незафиксированные изменения, операция прерывается, если только не указан параметр --force
предоставляется флаг, в этом случае изменения будут отброшены.

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

Любые удаленные наборы изменений хранятся в .hg / стрип-резервная копия в комплекте (см. hg помощь пакет и
hg помощь Unbundle). Их можно восстановить, запустив hg Unbundle .hg/strip-backup/НАБОР,
где BUNDLE — файл пакета, созданный полосой. Обратите внимание, что местные номера версий
вообще будет по другому после восстановления.

Используйте параметр --no-backup, чтобы удалить пакет резервных копий после завершения операции.

Strip не является операцией по перезаписи истории и может использоваться в общедоступных наборах изменений.
фаза. Но если удаленные наборы изменений были отправлены в удаленный репозиторий, вы
скорее всего потянет их снова.

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

Опции:

-р,--rev
удалить указанную ревизию (необязательно, можно указать ревизии без этой опции)

-ф, --сила
принудительно удалить наборы изменений, отменить незафиксированные изменения (без резервного копирования)

--без резервного копирования
нет резервных копий

--nobackup
нет резервных копий (УСТАРЕЛО)

-n игнорируется (УСТАРЕЛО)

-к, --хранить
не изменять рабочий каталог во время полосы

-Б,- закладка
удалить обороты, доступные только из данной закладки

[+] отмеченный вариант можно указывать несколько раз

пересадка
команда для трансплантации ревизий из другой ветки

Это расширение позволяет переносить изменения в другую родительскую ревизию, возможно, в
другой репозиторий. Трансплантация выполняется с использованием «diff» патчей.

Пересаженные патчи записываются в .hg/transplant/transplants как карта из набора изменений
hash на свой хэш в исходном репозитории.

Команды
пересадка
пересадить наборы изменений из другой ветки:

hg трансплантат [-s REPO] [-b ФИЛИАЛ [-a]] [-p REV] [-m REV] [REV]...

Выбранные наборы изменений будут применены поверх текущего рабочего каталога с журналом
исходного набора изменений. Наборы изменений копируются и, таким образом, появляются дважды в
история с разными идентичностями.

Рассмотрите возможность использования команды graft, если все находится внутри одного репозитория — она будет использовать
сливается и обычно дает лучший результат. Используйте расширение rebase, если наборы изменений
не опубликованы, и вы хотите переместить их, а не копировать.

Если указан --log, к сообщениям журнала будет добавлен комментарий в форме:

(перенесено из CHANGESETHASH)

Вы можете переписать сообщение журнала изменений с опцией --filter. Его аргумент будет
вызывается с текущим сообщением журнала изменений как $1 и патчем как $2.

--source/-s указывает другой репозиторий для выбора наборов изменений, как если бы он
временно стянули. Если указан параметр --branch/-b, эти ревизии будут использоваться как
головы при принятии решения о том, какие наборы изменений пересадить, как если бы только эти ревизии
вытащили. Если указан --all/-a, все ревизии до заголовков, указанных с помощью
--ветка будет пересажена.

Пример:

· перенесите все изменения до REV поверх вашей текущей ревизии:

hg трансплантат --ветвь REV --all

При желании вы можете пометить выбранные трансплантированные наборы изменений как наборы изменений слияния. Ты не будешь
будет предложено пересадить любых предков объединенного трансплантата, и вы можете объединить
их потомки, как правило, вместо того, чтобы пересаживать их.

Наборы изменений слияния можно трансплантировать напрямую, указав правильный родительский набор изменений с помощью
требуют hg пересадка - родитель.

Если слияния или изменения не предусмотрены, hg пересадка запустит интерактивный набор изменений
браузер.

Если приложение набора изменений не работает, вы можете исправить слияние вручную, а затем возобновить работу с того места, где вы
остановился, позвонив hg пересадка --продолжить/-с.

Опции:

-с,--источник
пересадить наборы изменений из РЕПО

-б,--ветвь
использовать этот исходный набор изменений в качестве заголовка

-a --все
вытащить все наборы изменений до ревизий --branch

-п,--чернослив
пропустить REV

-м,- объединить
слияние в REV

- родитель
родитель для выбора при пересадке слияния

-е, --редактировать
вызывать редактор для сообщений фиксации

--бревно добавить информацию о трансплантации в сообщение журнала

-с, --Продолжить
продолжить последнюю сессию трансплантации после устранения конфликтов

--фильтр
фильтровать наборы изменений с помощью команды

[+] отмеченный вариант можно указывать несколько раз

Win32MBCS
разрешить использование путей MBCS с проблемными кодировками

Некоторые кодировки MBCS не годятся для некоторых операций с путями (т.е.
преобразование и т. д.) с его закодированными байтами. Мы называем такую ​​кодировку (т.е. shift_jis и
big5) как «проблемное кодирование». Это расширение можно использовать для решения проблемы с теми
кодировки путем переноса некоторых функций для преобразования в строку Unicode перед операцией пути.

Это расширение полезно для:

· Японские пользователи Windows, использующие кодировку shift_jis.

· Китайские пользователи Windows, использующие кодировку big5.

· Все пользователи, использующие репозиторий с одной из проблемных кодировок, нечувствительны к регистру.
файловая система.

Это расширение не требуется для:

· Любой пользователь, использующий в пути только символы ASCII.

· Любой пользователь, не использующий проблемные кодировки.

Обратите внимание, что существуют некоторые ограничения на использование этого расширения:

· Вы должны использовать одну кодировку в одном репозитории.

· Если путь к репозиторию заканчивается на 0x5c, чтение .hg/hgrc невозможно.

· win32mbcs не совместим с расширением fixutf8.

По умолчанию win32mbcs использует encoding.encoding, определяемую Mercurial. Вы можете указать
кодирование по опции конфигурации:

[win32mbcs]
кодировка = sjis

Это полезно для пользователей, которые хотят зафиксировать сообщение журнала UTF-8.

win32текст
выполнять автоматическое преобразование новой строки (УСТАРЕЛО)

Устаревание: расширение win32text требует, чтобы каждый пользователь настраивал расширение.
снова и снова для каждого клона, так как конфигурация не копируется при клонировании.

Поэтому мы сделали эол как альтернатива. То эол использует контролируемую версию
файл для своей конфигурации, и поэтому каждый клон будет использовать правильные настройки из
начало.

Чтобы выполнить автоматическое преобразование новой строки, используйте:

[расширения]
win32текст =
[кодировать]
** = умное кодирование:
# или ** = маценкод:

[расшифровать]
** = умный декод:
# или ** = макдекод:

Если вы не выполняете преобразование, убедитесь, что вы случайно не зафиксировали CRLF/CR:

[крючки]
pretxncommit.crlf = python:hgext.win32text.forbidcrlf
# или pretxncommit.cr = python:hgext.win32text.forbidcr

Чтобы выполнить ту же проверку на сервере, чтобы предотвратить отправку или получение CRLF/CR:

[крючки]
pretxnchangegroup.crlf = python:hgext.win32text.forbidcrlf
# или pretxnchangegroup.cr = python:hgext.win32text.forbidcr

Zeroconf
обнаруживать и рекламировать репозитории в локальной сети

Расширение zeroconf будет рекламировать hg служить экземпляры через DNS-SD, чтобы их можно было
обнаружил с помощью hg пути команду, не зная адреса сервера.

Чтобы другие люди могли обнаружить ваш репозиторий с помощью run hg служить в вашем репозитории:

$ компакт-диск тест
$ hg служить

Вы можете обнаружить репозитории с поддержкой Zeroconf, запустив hg пути:

$ hg пути
zc-тест = http://example.com:8000/тест

Используйте hg онлайн с помощью сервисов onworks.net



Новейшие онлайн-программы для Linux и Windows