Поиск наборов изменений в Mercurial путем поиска патча - PullRequest
21 голосов
/ 16 марта 2011

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

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

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

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

1 Ответ

31 голосов
/ 17 марта 2011

Вы должны взглянуть на 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 для получения дополнительной информации.

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