Estoy trabajando en una rama de características y tengo algunos cambios comprometidos con mi rama de características que afectarán a los otros desarrolladores. Me gustaría enviar esos nuevos cambios al maletero para que nadie se quede luchando por arreglar el descanso más tarde; sin embargo, no quiero comprometer el resto de la rama de características porque aún no es completamente funcional.Mejores prácticas de fusión parcial SVN
Me bifurqué del maletero en r109. Mi rama ha tenido todos los cambios en el tronco fusionados hasta r145. Me comprometí a cambiar mi "afectará a otros desarrolladores" a mi sucursal en r152 y r153.
Mi proceso de pensamiento aquí fue a svn cambiar mi copia de trabajo del tronco y luego hacer:
SVN svn merge: // proyecto/sucursal/MyBranch -r 146: 153 ./project
SVN se queja de conflictos porque el tronco contiene la versión original de uno de los archivos que modifiqué, mientras que solo me estoy fusionando en los últimos cambios (hice algunos cambios en ese archivo en una confirmación anterior a mi sucursal), y también se queja de conflictos con un archivo que otro desarrollador cambió en r149. Como mi rama solo contenía fusiones del tronco hasta r145 antes de comprometerme, mi rama no refleja ese cambio.
Eso está bien: los conflictos son fáciles de resolver, pero mi preocupación es que voy a tener problemas días a partir de ahora cuando quiero reintegrar mi rama completa en el maletero.
Como alternativa, podría hacer los cambios necesarios en el tronco y luego unirlos en mi rama, pero no me gusta ese enfoque porque los cambios ya están hechos en la rama. No tiene sentido hacerlos dos veces.
¿Alguien tiene alguna experiencia con fusiones parciales de ramas características en el tronco seguido de una reintegración completa? ¿Cuál es la mejor estrategia aquí?
Gracias! Me di cuenta después de enviarlo a mi sucursal que es algo que debería haberse hecho en el maletero. De lo contrario, lo habría hecho de la manera que sugeriste. –