Вы можете использовать шаблон для hg log
или hg tip
для получения всех имен файлов:
hg tip --template '{files}'
или для получения, например, всех файлов, измененных / добавленных / измененных набором изменений 5:
hg log -r5 --template '{files}'
Вы можете прочитать больше о шаблонах Mercurial: полное руководство, Глава 11. Настройка вывода Mercurial или краткая справка с помощью hg help templating`
Если вы хотите что-то сделатьк файлам, например, через grep:
hg tip --template '{files}' | xargs grep foo
Осторожно, это приведет к разрыву с именами файлов, содержащими пробелы!
Для обработки всех видов имен файлов требуется нечто более сложное (спасибо mg на #mercurial за подсказку):
Нам нужны многострочные стили для этого предположения, что файл с именем zerosep
содержит:
changeset = "{files}"
file = "{file}\0"
Затем вы можете использовать это для создания \0
отдельного списка имен файлов и обработки его с помощью xargs -0
:
hg tip --style zerosep | xargs -0 grep foo
Информацию о том, как это работает, можно найти в: Вывод списка файлов в несколько строк