hg bisect [-gbsr] [-U] [-c КОМАНДА] [РЕВИЗИЯ]
поиск ревизии методом деления пополам
Эта команда полезна при поиске ревизии, в которой была внесена ошибка. Для этого самая ранняя ревизия, про которую известно, что она содержит ошибку, помечается как плохая, после чего самая поздняя ревизия, не содержащая эту ошибку, помечается как хорошая. Bisect обновит рабочий каталог до ревизии для тестирования (если не указан -U/--update). После того, как тесты проведены, ревизия помечается как хорошая или плохая в зависимости от результата, и bisect либо обновит каталог до новой ревизии-кандидата, либо объявит, что нашел плохую ревизию.
Для краткости можно также использовать номер ревизии в качестве параметра, чтобы пометить ревизию как плохую или хорошую, не обновляя до нее предварительно рабочий каталог.
Если вы укажите команду, она будет использована для автоматической бисекции. Переменная окружения HG_NODE будет содержать ID тестируемой ревизии. Код возврата команды будет использован чтобы пометить ревизию как плохую или хорошую: код 0 - хорошая, код 125 означает пропустить ревизию, 127 (команда не найдена) отменяет поиск, любой другой код возврата означает плохую ревизию.
Несколько примеров:
hg bisect --bad 34 hg bisect --good 12
hg bisect --good hg bisect --bad
hg bisect --skip hg bisect --skip 23
hg bisect --skip "!( file('path:foo') & file('path:bar') )"
hg bisect --reset
hg bisect --reset hg bisect --bad 34 hg bisect --good 12 hg bisect --command "make && make tests"
hg log -r "bisect(pruned)"
hg log -r "bisect(current)"
hg log -r "bisect(range)"
hg log --graph -r "bisect(range)"
See 'hg help revisions.bisect' for more about the 'bisect()' predicate.
В случае успеха возвращает 0.
options:
-r | --reset | сбросить поиск |
-g | --good | пометить ревизию как хорошую |
-b | --bad | пометить ревизию как плохую |
-s | --skip | пропустить тестирование набора изменений |
-e | --extend | расширить диапазон поиска |
-c | --command КОМАНДА | использовать команду для проверки состояния набора изменений |
-U | --noupdate | не обновляться до целевой ревизии |
global options ([+] can be repeated):
-R | --repository ХРАНИЛИЩЕ | корневой каталог хранилища или имя файла комплекта |
--cwd КАТАЛОГ | сменить рабочий каталог | |
-y | --noninteractive | не спрашивать, на все вопросы автоматически выбирать первый вариант |
-q | --quiet | подавлять вывод |
-v | --verbose | включить дополнительный вывод |
--color ТИП | when to colorize (boolean, always, auto, never, or debug) | |
--config КОНФИГ [+] | задать/переопределить параметр конфигурации (в виде 'секция.параметр=значение') | |
--debug | включить отладочный вывод | |
--debugger | запустить отладчик | |
--encoding КОДИРОВКА | установить кодировку (по умолчанию: UTF-8) | |
--encodingmode РЕЖИМ | установить режим кодировки (по умолчанию: strict) | |
--traceback | всегда печатать трассировку стека при исключении | |
--time | время выполнения команды | |
--profile | профилирование выполнения команды | |
--version | напечатать информацию о версии и выйти | |
-h | --help | показать справку и выйти |
--hidden | учитывать скрытые наборы изменений | |
--pager ТИП | когда использовать прокрутку (логический. always (всегда), auto(автоматически) или never (никогда) (по умолчанию: auto) |