2011-06-03 20 views
5

Digamos que tengo una rama de desarrollo para una característica llamada "myDevelopmentBranch" y otra rama "myOtherBranch" que contiene un montón de cambios, algunos entrarán en conflicto con cosas de "myDevelopmentBranch". ¿Será (potencialmente) el resultado de una combinación de "myDevelopmentBranch" a "myOtherBranch" ser diferente si realizo mis compromisos con frecuencia que si me comprometo con menos frecuencia (por ejemplo, varias veces al día frente a una o dos veces por semana)? Me pregunto sobre esto, como me gustaría que sea más fácil para Mercurial (o cualquier otro VCS) hacer un seguimiento de los cambios en pequeños fragmentos, por lo tanto, haciendo un mejor trabajo descubriendo cómo fusionarlos.¿Mercurial hace un mejor trabajo al fusionar archivos cuando los conjuntos de cambios son pequeños?

Nota! Soy consciente de muchas razones por las que uno debe comprometerse con frecuencia, esta es solo una pregunta técnica sobre la que he estado reflexionando.

Respuesta

5

La combinación resuelve las diferencias entre los archivos modificados, ya que se encuentran en la punta de ambas ramas (suponiendo que está fusionando las sugerencias). Así que si había ...

  • 1 de cambios A1 en la rama A que cambia de 500 líneas, matriz de cambios Z
  • 1 B1 conjunto de cambios en la rama B que cambia de 500 líneas, matriz de cambios Z

... tendrías la misma experiencia de fusión en comparación con 50 conjuntos de cambios en cada rama que cambian 10 líneas cada uno para producir el mismo estado final de los archivos en cada rama como se indicó anteriormente.

Sin embargo, en mi experiencia, lo que hace facilitar la fusión es no comprometerse a menudo, pero la fusión a menudo. Por ejemplo, fusionar cambios de una rama estable en una rama de desarrollo para mantener la rama de desarrollo basada en la versión estable más reciente en mordiscos más pequeños, en lugar de esperar hasta que se realice el trabajo en la rama de desarrollo para actualizarla con cambios de rama estables en una gran mordedura. Y, en algunos casos, al cambiar los cambios de las sucursales estables en lugar de fusionarse (según el flujo de trabajo de DVCS).

Cuestiones relacionadas