Resolver conflictos

Al efectuar una actualización o un compromiso puede encontrar conflictos. Un conflicto se produce cuando ha modificado localmente un recurso para el que está disponible una revisión más reciente en la rama del depósito. Concretamente, la rama contendrá una revisión más nueva que la revisión base del recurso local. En esta situación, puede efectuar una de las siguientes opciones:

Normalmente, será preferible elegir la tercera opción, es decir, la fusión, debido a la pérdida de trabajo inherente a las otras dos opciones.

Fusionar cambios manualmente

La vista Sincronizar indica aquellos recursos que entran en conflicto con la rama. Para un recurso dado en conflicto, normalmente será preferible la fusión de los cambios con los cambios efectuados en el recurso de la rama.

Por ejemplo, vamos a suponer que usted y otro miembro del equipo han modificado la misma página HTML. Al seleccionar este recurso en la vista Sincronizar se mostrará una comparación del recurso local con la revisión de la rama. Al seleccionar y fusionar los cambios individuales, puede decidir en cada cambio si desea aceptar el cambio entrante, rechazarlo o fusionarlo con los cambios locales. Una vez ha finalizado la fusión, guarda los cambios. Esta acción sobreescribe el recurso local con el resultado de la fusión. Posteriormente puede comprometer este recurso fusionado.

Consejo: al fusionar los cambios, suele ser conveniente poder distinguir los archivos en los que se ha realizado la fusión. Al finalizar la fusión de un archivo, puede elegir Marcar como fusionado en el menú contextual. De este modo se cambiará el estado del archivo y pasará de tener un conflicto a ser un cambio saliente.

Puede fusionar las diferencias de la vista Sincronización en dos niveles:

Fusionar cambios automáticamente

También es posible hacer que los cambios se fusionen automáticamente. En cada recurso marcado como ASCII, al realizar una acción Equipo > Actualizar se efectuará automáticamente una fusión de las diferencias en el recurso local con el recurso de la rama. Esto no dará lugar a errores siempre y cuando no hayan líneas con cambios conflictivos. Si hay líneas con cambios conflictivos, CVS inserta un marcado especial en el archivo para indicar las líneas que no se han podido fusionar.

La actualización desde el interior de la vista Sincronización funciona un poco distinto. En el caso de que exista un conflicto, la actualización solicitará al usuario que fusione los cambios o sustituya todo el contenido del archivo por el del archivo remoto.

 Conceptos relacionados
Programación en equipo con CVS
Sincronizarse con un depósito CVS
Comparaciones a tres bandas

Tareas relacionadas
Sincronizarse con el depósito
Actualizar
Comprometer
Fusionar desde una rama
Comparar recursos
Fusionar cambios en el editor de comparación

Consulta relacionada
www.cvshome.org: poner al día un archivo
www.cvshome.org: ejemplos de conflictos
Editor de comparación

 
Copyright IBM Corporation y otros 2000, 2003