¿Con qué frecuencia te fusionas?

Soy un desarrollador único que aprende a usar el software de control de fuente. He leído la documentation de Subversion . Entiendo el concepto de fusión, pero mi pregunta es: ¿con qué frecuencia se fusionan?

Por ejemplo, si tiene un desarrollador trabajando en el tronco y dos desarrolladores trabajando en twigs separadas, entonces ¿cuándo?

1) Merge the trunk with branch 1 2) Merge the trunk with branch 2 3) Merge branch 1 with the trunk 4) Merge branch 1 with branch 2 5) Merge branch 2 with the trunk 6) Merge branch 2 with branch 1 

En este ejemplo, suponga que los tres cambios están en aislamiento. ¿Se fusionan todos al final de cada día? – suponiendo que los cambios son estables por supuesto o se fusionan justo a time para la date de lanzamiento?

En el pasado (cuando no he usado el control de fuente) he publicado como y cuando. Supongo que es mejor establecer una date de lanzamiento, para la que yo (y otros desarrolladores) puedo trabajar.

He preparado muchas publicaciones sobre fusión y ramificación hoy, por ejemplo, esta: ¿ buenos tutoriales de ramificación y fusión para TortoiseSVN? . No he encontrado una respuesta a mi pregunta específica.

Diferentes estrategias de ramificación son posibles. Pero le aconsejo que no los vincule a ningún evento de calendar o time (como diario o semanal).

Para mí, los siguientes trabajos:

  1. cuando comienzo una function / corrección de errores y veo que se necesita más de una confirmación, creo una twig para ella
  2. implementar la function de arreglar el error
  3. al final fusionar todos los cambios nuevos desde el tronco (si corresponde) a esa twig
  4. verifica todas las testings
  5. reintegrar la twig en el tronco

Si el desarrollo lleva mucho time y hay cambios en el tronco, tiene sentido fusionar trunk-> branch varias veces durante el desarrollo para no desviarse demasiado.

A veces, tales twigs viven 1-2 horas. A veces, 1-2 meses (pero no me gustan esas cosas, generalmente eso significa una descomposition insuficiente).

Además, nunca he encontrado una necesidad de fusionar entre twigs (sin include el tronco), pero esto también depende de la buena descomposition de las tareas. Si se completa una function / corrección de errores, debe ir a la línea externa, si no es así, no debe usar su estado intermedio.

Además de la respuesta de maxim1000 (+1 para eso) aquí mi experiencia:

Prefiero hacer más fusiones pequeñas en una fusión grande , porque a menudo hay conflictos que resolver. La desventaja es que la cantidad total de time invertido puede ser mayor cuando se realizan muchas fusiones pequeñas.

Cuando lo hago, la fusión depende del número y la calidad de los cambios que se realizaron en las twigs.