Notificaciones less frecuentes / detalladas para hg push

Mi proyecto usa hgext.notify. Actualmente incoming.notify = posts separados en cada set de cambios. Teniendo en count changegroup notify, pero incluso eso contiene información sobre cada set de cambios, todo en un gran correo electrónico.

Aquí está el problema:

Mi estilo de trabajo es "check in early and often". Realizo muchos checkins pequeños, generalmente en twigs. Ramas de tareas Eventualmente integrado.

A mis compañeros de equipo no les gusta ver posts para todos mis checkins en mis twigs de tareas.

Estamos considerando usar una extensión de edición de historial como queuepso o histedit para networkingucir la verbosidad, pero no me gusta perder el historial. Solo quiero no molestarlos con cada set de cambios individual.

P: ¿Hay alguna manera, alguna configuration para un enlace existente, o alguna extensión de hg alternativa, que se pueda configurar para que se notifique como folletos?

  1. un solo post por grupo de cambio (está bien)

  2. un único post proporcionado por el usuario por grupo de cambio, no solo la concatenación de todos los posts del set de cambios de la bifurcación

  3. filtrar solo los posts de cambio para, por ejemplo, el enlace troncal (la twig pnetworkingeterminada en el lenguaje hg). Es decir, deje los posts de cambio de twig en los posts, pero no envíe correos electrónicos.

    (Nota: mis impulsos generalmente implican varios sets de cambios en una twig, y ​​luego una fusión en el valor pnetworkingeterminado. Por lo tanto, no es suficiente filtrar todo el grupo de cambios dentro o fuera de acuerdo con las twigs afectadas).

  4. No se diferencia entre la punta y cada cambio en la twig, sino solo entre sets de cambios "importantes" en la línea troncal (twig pnetworkingeterminada), que puede ser un cambio considerable en la línea troncal.

Me temo que no existe tal extensión. La extensión de notificación es solo una forma básica de enviar correos electrónicos con un pequeño espacio para la personalización.

Parece que tienes una idea particular sobre lo que quieres. Sugiero que veas si puedes formularlo como un set de revisión y luego simplemente usar hg log en un gancho de grupo de changegroup . Transmite la salida al mail y obtienes una extensión de notificación muy simple que puedes personalizar a tu gusto.

Lo que estoy diciendo es que la extensión de notificación no es tan compleja y en muchos casos puede ser reemplazada por una invocación adecuada de hg log . Incluso puede usar una plantilla personalizada para hg log si desea cambiar el resultado más de lo que hace hg log -v o hg log --patch .

La parte difícil (y la parte que no está del todo clara de su pregunta) es filtrar exactamente los sets de cambios correctos. Usted menciona los sets de cambios "importantes" en el punto 4 anterior, pero no estoy del todo seguro de lo que hace que un set de cambios sea "importante". Si es importante cuando se trata de una combinación de una twig de características en default , entonces algo así podría ser un comienzo:

 hg log -r "$HG_NODE:tip and children(not branch(default)) and branch(default)" 

Al tomar los sets de cambios hijos de los sets de cambios no default y la intersección con sets de cambios en el default , obtenemos exactamente los puntos de fusión donde se integraron las twigs de características.

Lamento que la respuesta sea tan genérica, pero creo que es mejor que escribas un pequeño script de shell personalizado para lo que quieras.