Менее частые / подробные уведомления для hg push
Мой проект использует hgext.notify. В настоящее время входящие.notify = отдельные сообщения на каждом наборе изменений. Учитывая уведомления группы изменений, но даже это содержит информацию о каждом наборе изменений, просто все в одном большом электронном письме.
Вот проблема:
Мой стиль работы - "регистрируйся рано и часто". Я делаю много маленьких чеков, обычно на ветках. Задачи ветки. В конечном итоге интегрированы.
Мои товарищи по команде не любят видеть сообщения для всех моих проверок в моих ветках задач.
Мы рассматриваем возможность использования расширения редактирования истории, такого как коллапс или гистедит, чтобы уменьшить многословие, но я не люблю терять историю. Я просто хочу не беспокоить их каждым изменением.
Q: есть ли способ, некоторая конфигурация для существующего хука или какое-то альтернативное расширение hg, которое можно настроить для уведомлений как folllws;
одно сообщение на группу изменений (это нормально)
сообщение, предоставленное одним пользователем для каждой группы изменений, а не просто объединение всех сообщений набора изменений ветви
отфильтровывать только сообщения изменений, скажем, для транка (ветвь по умолчанию на языке hg). Т.е. оставляйте в ветке сообщения о ревизиях, но не отправляйте электронную почту.
(Примечание: мои изменения обычно включают в себя несколько наборов изменений в ветви, а затем объединение по умолчанию. Поэтому недостаточно просто отфильтровать всю группу изменений в зависимости от того, какие ветви затронуты.)
diffstats не между наконечником и каждым изменением в ветви, а только между "важными" наборами изменений в стволе (ветвь по умолчанию) - что может быть даже новым изменением в стволе.
1 ответ
Боюсь, такого расширения не существует. Расширение уведомлений - это просто основной способ отправки электронных писем с небольшим пространством для настройки.
Похоже, у вас есть конкретное представление о том, что вы хотите. Я предлагаю вам посмотреть, можете ли вы сформулировать его как набор ревизий, а затем просто использовать hg log
в changegroup
крюк. Передайте вывод mail
и у вас есть очень простое расширение для уведомлений, которое вы можете настроить по своему вкусу!
Я хочу сказать, что расширение уведомлений не так уж сложно и во многих случаях его можно заменить подходящим вызовом hg log
, Вы даже можете использовать собственный шаблон для hg log
если вы хотите изменить вывод больше, чем что hg log -v
или же hg log --patch
делает.
Сложная часть (и часть, которая не совсем понятна из вашего вопроса) состоит в том, чтобы отфильтровать точно правильные наборы изменений. Вы упоминаете "важные" наборы изменений в пункте 4 выше, но я не совсем уверен, что делает набор изменений "важным". Если это важно, когда происходит слияние из функциональной ветви в default
тогда что-то вроде этого может быть началом:
hg log -r "$HG_NODE:tip and children(not branch(default)) and branch(default)"
Взяв дочерние наборы измененийdefault
наборы изменений и пересекаются с наборами изменений на default
мы получаем именно точки слияния, в которые были интегрированы ветви объектов.
Я сожалею, что ответ настолько общий, но я думаю, что вам лучше всего написать небольшой собственный скрипт оболочки для того, что вы хотите.