Можно ли раскрасить вывод журнала hg в зависимости от содержимого?

Можно ли раскрасить каждую строку вывода журнала hg в зависимости от содержимого и / или описания отдельной ревизии? Например, я хотел бы помочь "настоящей" работе выделиться, выделив строки для слияний и строки для изменений, которые касаются только ресурсов тестирования (без файлов на языке программирования.)

Основываясь на привычках наших команд, я мог получить примерно то, что хотел, если бы в словах я нашел слова "базовая линия" и "слияние", но шаблоны файлов и каталоги (для базовых линий) и топология (для слияний) были бы более точными.

Есть ли способ настроить hg для форматирования каждой строки по-разному?

1 ответ

Я не думаю, что можно раскрасить только на основе содержимого, но вы могли бы использовать ревизии Mercurial (hg help revset) для отображения только соответствующих наборов изменений.

Что-то вроде: hg log -r "not desc('merge') and not file('test/*')" должен вывести вас на правильный путь.

Вот некоторые детали, как это работает:

  • desc('merge') выберет наборы изменений, содержащие слияние в их описании.
  • not desc('merge') отфильтровывает такие наборы изменений.
  • file('test/*') выберет наборы изменений касаясь файлов в каталоге тестов.
  • not file('test/*') отфильтровывает такие наборы изменений.

Большая проблема с этим решением состоит в том, что оно отфильтровывает наборы изменений, затрагивающие файлы как в тестовом каталоге, так и где-то еще, я не уверен, что для этого есть специальный revset.

Другие вопросы по тегам