Una de las razones por las cuales los programadores prefieren SVN sobre CVS es que el primero permite confirmaciones atómicas. Qué significa esto ?
svn
versioning
cvs
Friki
fuente
fuente
Respuestas:
Significa que cuando realiza una confirmación en el sistema de control de versiones, todo lo que desea confirmar entra, O nada lo hace.
En CVS, cuando intenta confirmar, es posible que la confirmación tenga éxito en varios archivos y luego falle en varios otros (porque han cambiado). Esto deja el repositorio en un estado desafortunado porque la mitad de su confirmación no está allí, y es probable que haya dejado las cosas en un estado donde no se compilarán o peor. Ahora debe apurarse e integrar cualquier cambio para poder confirmar los otros archivos antes de que alguien más necesite actualizar y obtener su conjunto de cambios roto.
En SVN esto no sucederá: SVN confirmará todo lo que ha cambiado o fallará todo el conjunto de cambios. Por lo tanto, nunca dejará el repositorio en un estado roto debido a problemas de confirmación.
fuente
Esto se explica, por ejemplo, en Bye-bye CVS. He sido subvertido el artículo escrito por Andy Lester :
El hecho de que CVS obligue al programador a corregir la fusión de inmediato es tan contraproducente como se pone. En comparación con eso, una opción para retrasar / cancelar / fusionar cuidadosamente los cambios es un beneficio sustancial.
Otros beneficios de SVN sobre CVS explicados en el artículo anterior son:
fuente
Significa que todos los cambios en todos los archivos se confirman en una sola transacción, por lo que todos tienen éxito o ninguno.
Esto significa que es menos probable que se registren ediciones parciales en el repositorio, lo que hace que las compilaciones fallen. Todavía puede hacer que la gente se olvide de revisar todos los archivos relevantes, pero ese es un problema de proceso en lugar de un problema con el sistema de versiones.
fuente