Subrepositorios Mercuriales: Previenen los ataques y empujes recursivos accidentales
Trabajo en un equipo donde tenemos un código en un repositorio mercurial con varios subrepositorios:
main/
main/subrepo1/
main/subrepo1/subrepo2/
El comportamiento predeterminado de Mercurial es que cuando unhg commit
se realiza en "main", también se confirmarán los cambios pendientes en los subrepositorios "subrepo1" y "subrepo2". Del mismo modo, cuando se presiona "main", también se enviarán las confirmaciones salientes en "subrepo1" y "subrepo2".
Descubrimos que las personas con frecuencia cometen y empujan inadvertidamente cambios en sus subrepositorios (porque olvidaron que habían realizado cambios yhg status
por defecto no muestra cambios recursivos). También encontramos que tales compromisos / empujes globales son casi siempre accidentales en nuestro equipo.
Mercurial 1.7 recientemente mejoró la situación conhg status -S
yhg outgoing -S
, que muestran cambios en los subrepositorios; pero aún así, esto requiere que las personas estén prestando atención.
¿Hay alguna manera en Mercurial para hacerhg commit
yhg push
abortar si hay cambios / confirmaciones en subrepositorios que de otra forma se confirmarían / impulsarían?