Подтвердить что ты не робот

Поиск наборов изменений в mercurial путем grepping патча

Есть ли способ в mercurial найти изменение, указав шаблон в редактировании (измененный код), в отличие от сообщения журнала или имени файла?

Я довольно тщательно посмотрел в "hg help revsets", и я думаю, что нет хорошего способа сделать это. Здесь лучший взлом, который я придумал, но я надеюсь, что упустил возможность, или что кто-то может сделать немного лучше.

hg log -M -u goldberg -p | grep '(^changeset:\|<pattern>) '| grep -C 1 '<pattern>'

(а затем вручную выбирая номер версии для последующей работы с этими версиями)

4b9b3361

Ответ 1

Вы должны взглянуть на hg grep.

Search revisions of files for a regular expression.

This command behaves differently than Unix grep. It only accepts
Python/Perl regexps. It searches repository history, not the working
directory. It always prints the revision number in which a match appears.

By default, grep only prints output for the first revision of a
file in which it finds a match. To get it to print every revision that
contains a change in match status ("-" for a match that becomes a non-match, 
or "+" for a non-match that becomes a match), use the --all flag.

Returns 0 if a match is found, 1 otherwise.

Вы можете ввести hg grep --help для получения дополнительной информации.