Bases de Control de Versiones [Guía de Usuario de Enterprise Architect] |
Top Previous Next |
Enterprise Architect implementa el control de versiones de su modelo al exportar datos de paquete desde la base de datos del proyecto para archivos de paquete XMI, los cuales son colocados bajo control de versión en la aplicación de control de código fuente. El formato del archivo XMI no puede ser fusionado de la misma manera en que los archivos de texto ordinarios pueden ser fusionados, por lo que Enterprise Architect debe imponer la edición serializada de paquetes controlados por versiones, como veremos a continuación. La Solución Bloquear-Modificar-Desbloquear Muchos sistemas controlados por versión utilizan un modelo bloquear-modificar-desbloquear para dirigirse al problema de diferentes autores en una fuente compartida sobrescribiendo el trabajo del otro. En este modelo, el repositorio de control de versiones permite que sólo una persona cambie un archivo a la vez, y el acceso es administrado utilizando bloqueos. Harry debe bloquear un archivo antes de que pueda comenzar a hacerle cambios. Si Harry bloqueo un archivo, Sally no puede bloquearlo también, y por lo tanto no puede hacer ningún cambio en ese archivo. Sólo puede leer el archivo, y esperar a que Harry termine sus cambios y liberar el bloqueo. Después de que Harry desbloquee el archivo, Sally puede tomar su turno en bloquear y editar el archivo. La Solución Copiar-Modificar-Fusionar Subversión, CVS y un número de otros sistemas de control de versiones utilizan un modelo copiar-modificar-fusionar como una alternativa para bloquear. En este modelo, cada cliente del usuario contacta el repositorio del proyecto y crea una copia de trabajo personal - un reflejo local de los archivos y directorios del repositorio. Los usuarios luego trabajan simultáneamente e independientemente, modificando sus copias privadas. A su debido tiempo, las copias privadas se fusionan juntas en una nueva versión final. El sistema de control de versiones a menudo asiste con la fusión, pero en última instancia, una persona es responsable de que ocurra correctamente. Cuando el Bloqueo es Necesario Mientras que el modelo bloquear-modificar-desbloquear se considera generalmente un obstáculo para la colaboración, todavía hay momentos en los que el bloqueo es necesario. El modelo copiar-modificar-fusionar está basado en la suposición de que los archivos son contextualmente fusionables: es decir, que los archivos en el repositorio son archivos de texto basados ??en línea (tal como el código fuente del programa). Sin embargo, para archivos con formatos binarios, tal como obras de arte o de sonido , a menudo es imposible fusionar los cambios conflictivos. En estas situaciones, es verdaderamente necesario que los usuarios tomen turnos de manera estricta para cambiar el archivo. Sin el acceso serializado, algunos usuarios terminan perdiendo el tiempo en cambios que finalmente son sobrescritos. Aprender más |