Estoy más familiarizado con Git, así que responderé desde esa perspectiva.
No veo una razón por la que o cualquier buen VCS quiera permitir la confirmación de un archivo sin combinar, especialmente si se trata de un código. Debe mantener el repositorio en un estado coherente, y lo que está sugiriendo violaría la atomicidad de la comisión. Muchos VCS modifican físicamente el archivo para mostrar dónde están los conflictos: Git, SVN y CVS usan > > > > < < < < marcadores de tipo En un VCS con confusiones y fusiones de nivel de repositorio atómico, simplemente habría creado un nodo que no tiene sentido para nadie más que usted. En el desarrollo de software, su proyecto no pudo construir. En el documento de un grupo, nadie sabe qué cambios son correctos.
Ahora, Git proporciona algunas herramientas que podrían facilitar esto, si el tipo de compromiso que sugieres esté permitido. Podría aplastar todos los compromisos de fusión juntos antes de presionar, por ejemplo. Eso termina siendo el mismo que un típico compromiso de fusión.
Preocupaciones específicas sobre su lista de beneficios:
-
Los cambios de fusión reales están en el historial. ¿Por qué necesita información adicional? Los DVCS son muy buenos para limitar los conflictos a áreas confinadas. Una vez que elija qué conjunto de cambios desea conservar, la comparación de la copia del nodo de confirmación de fusión con la copia anterior le dará exactamente esto.
-
Si la combinación era muy grande, podría realizar confirmaciones periódicas. Esta es una preocupación válida, pero en primer lugar no debería llegar aquí. Las sucursales deben estar constantemente introduciendo cambios hacia arriba para que esto nunca suceda. Las herramientas como
rebase
o cherry-pickking un commit a la vez también pueden ayudarlo aquí en algunas situaciones.
-
Si cometió un error, sería mucho más fácil revertirlo (sin tener que rehacer toda la combinación). Vea más arriba: sus conflictos no deberían convertirse en algo inmanejable.
La única forma en que podría funcionar esta sugerencia es si la rama fuera si toda la fusión fuera atómica: se podrían ver una serie de confirmaciones, pero serían simplemente pasos en una confirmación de combinación más grande que debía tratarse como un nodo en el arbol de compromiso No creo que ningún VCS actual tenga soporte para este tipo de flujo de trabajo, y no creo que sea necesario.