Se funde entre dos twigs en dos direcciones: ¿hay alguna buena razón o está completamente prohibido?

Mi colega me pidió recientemente que lo ayude con el gancho precommitido que bloquea el empuje al repo central. Esto es famoso https://hg.python.org/hooks/file/tip/checkheads.py

El algorithm de checkheads.py reúne jefes en la sucursal ignorando los cambios de otra twig por parte:

 for x in xrange(p + 1, end): if repo[x].branch() != branch: continue 

El historial contiene fusiones de pnetworkingeterminado a prod y luego de return de prod a pnetworkingeterminado .

Así que checkheads.py no encontró que los sets de cambios se fusionaran por defecto (conectados en gráfico) porque cualquier ruta de la twig prod se elimina y la secuencia de commands informa varios encabezados en la twig pnetworkingeterminada (pero hg heads informa solo como es).

Mi pregunta: ¿qué flujo de trabajo de DVCS requiere combina entre dos twigs en dos sentidos?

Famoso http://nvie.com/posts/a-successful-git-branching-model/ no tiene fusiones cris-cross.

¿Está bien evitar las fusiones de ida y vuelta?

Mi pregunta: ¿qué flujo de trabajo de DVCS requiere combina entre dos twigs en dos sentidos?

Tome cada flujo de trabajo en function de las twigs de características (gitflow, github-flow, …), donde desee fusionar utilizando requestes de extracción (consulte la fusión de un solo clic de github, por ejemplo).

Si está trabajando en una function y alguien ya ha combinado una característica que modifica los mismos files y tiene conflictos si desea fusionar.

Si desea fusionar su request de extracción, primero tendrá que resolver estos conflictos.

Tienes 2 posibilidades:

  • rebase, pero eso no siempre es posible (por muy buenas razones)
  • fusionarse desde su twig principal en su twig de características.

Si se fusionó con éxito de esta manera, podría fusionar su request de request / twig de function y terminará con una hermosa cruz cruzada 😉