Менее частые / подробные уведомления для hg push - PullRequest
0 голосов
/ 05 января 2012

Мой проект использует hgext.notify. В настоящее время входящие.notify = отдельные сообщения на каждом наборе изменений. С учетом уведомления группы изменений, но даже в нем содержится информация о каждом наборе изменений, просто все в одном большом электронном письме.

Вот проблема:

Мой стиль работы - "регистрируйся рано и часто". Я делаю много маленьких чеков, обычно на ветках. Задачи ветки. В конечном итоге интегрированы.

Мои товарищи по команде не любят видеть сообщения для всех моих проверок в моих ветках задач.

Мы рассматриваем возможность использования расширения для редактирования истории, такого как collapse или histedit, для уменьшения многословия, но мне не нравится терять историю. Я просто хочу не беспокоить их каждым изменением.

Q: есть ли способ, некоторая конфигурация для существующего хука или некоторое альтернативное расширение hg, которое можно настроить для выполнения уведомлений как folllws;

  1. одно сообщение на группу изменений (это нормально)

  2. сообщение, предоставленное одним пользователем для каждой группы изменений, а не просто объединение всех сообщений набора изменений ветви

  3. отфильтровывать только сообщения о изменениях, скажем, для транка (ветвь по умолчанию на языке hg). То есть оставляйте сообщения ревизии филиала, но не отправляйте электронную почту.

    (Примечание: мои изменения обычно включают несколько наборов изменений в ветви, а затем объединение по умолчанию. Поэтому недостаточно просто отфильтровать всю группу изменений в зависимости от того, какие ветви затронуты.)

  4. diffstats не между наконечником и каждым изменением в ветви, а только между "важными" наборами изменений в стволе (ветвь по умолчанию) - что может быть очень быстрым изменением в стволе.

1 Ответ

1 голос
/ 06 января 2012

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

Похоже, у вас есть конкретное представление о том, что вы хотите.Я предлагаю вам посмотреть, можете ли вы сформулировать его как набор ревизий , а затем просто использовать 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)"

Взяв дочерние наборы изменений не-1022 * наборов изменений и пересекаяс набором изменений на default мы получаем именно те точки слияния, в которые были интегрированы ветви функций.

Извините, ответ настолько общий, но я думаю, что вам лучше написать небольшую пользовательскую оболочкускрипт для чего хочешь.

...