Ответ 1
Чтобы перечислить все коммиты, кроме основной ветки по умолчанию, как я предполагаю, первый пример:
git log --all --not master
Чтобы получить результат, несколько равный второму примеру:
git log 1.3...1.5 --grep="bug" -- hgext
Mercurial имеет специфический для домена язык под названием revsets, который позволяет пользователям указывать наборы изменений.
Например, вам может потребоваться указать патчи, которые еще не были объединены в ветвь default
:
hg log -r "all() - ancestors('default')"
В качестве более сложного примера приведенная выше ссылка содержит пример перечисления наборов изменений между тегами с тегами 1.3
и тегом тегов 1.5
, которые упоминают "ошибку" и влияют на файл в каталоге hgext
:
hg log -r "1.3::1.5 and keyword(bug) and file('hgext/*')"
Язык отсрочки довольно богат, что позволяет выбирать набор изменений на основе дат, имени пользователя, сообщения фиксации, наличия коммита в определенном удаленном месте и т.д.
Имеет ли git эквивалентный механизм для запросов к наборам изменений, либо в основной программе, либо в виде расширения?
Чтобы перечислить все коммиты, кроме основной ветки по умолчанию, как я предполагаю, первый пример:
git log --all --not master
Чтобы получить результат, несколько равный второму примеру:
git log 1.3...1.5 --grep="bug" -- hgext