Mientras trabaja en un proyecto en el Entorno de trabajo, puede que otros miembros del equipo comprometan cambios en la copia del proyecto que se encuentra en el depósito. Para obtener estos cambios, puede "actualizar" el Entorno de trabajo para que coincida con el estado de la rama. Los cambios que verá serán específicos de la rama cuyo compartimiento se ha configurado en el proyecto del Entorno de trabajo. El usuario controla cuándo desea actualizarse.
El mandato de actualización puede emitirse desde dos lugares: el menú Equipo > Actualizar o la vista Sincronizar. Para comprender las diferencias que existen entre estos dos mandatos, es importante conocer los tres tipos distintos de cambios entrantes.
Al seleccionar Equipo > Actualizar, el contenido de los recursos locales se actualizará con los cambios entrantes de los tres tipos anteriores. En los cambios no conflictivos y conflictivos autofusionables, no se requiere ninguna acción adicional (en los conflictos autofusionables, el recurso local cambiado se mueve a un archivo con el prefijo ".#" por si el usuario no deseaba una autofusión). No obstante, en los conflictos no autofusionables, éstos se fusionan en el recurso local utilizando texto especial de marcado específico de CVS (en los archivos ASCII) o el recurso local cambiado se mueve a un archivo con el prefijo ".#" (en los archivos binarios). Esto coincide con el comportamiento de la línea de mandatos de CVS, pero puede ser problemático cuando se combina con el mecanismo de autoconstrucción de Eclipse. Además, suele ser deseable conocer cuántos cambios entrantes hay antes de actualizar los recursos locales. Estos temas se solucionan en la vista Sincronizar.
Para abrir la vista Sincronizar en modalidad entrante:
En modalidad entrante, verá los cambios que se hayan comprometido en la rama desde la última actualización. La vista indicará el tipo de cada cambio entrante (no conflictivo, conflictivo autofusionable o conflictivo no autofusionable). Existen dos mandatos de actualización (disponibles en el menú contextual de cualquier recursos de la vista) para enfrentarse a los distintos tipos de conflictos: Actualizar desde depósito y Alterar temporalmente y actualizar. Al seleccionar el mandato Actualizar desde depósito en la vista Sincronizar, sólo se procesan los cambios no conflictivos, dejando en la vista todos aquellos archivos que tengan conflictos autofusionables o no autofusionables (todos los archivos que se han procesado satisfactoriamente se eliminan de la vista). El mandato Alterar temporalmente y actualizar opera en los dos tipos de cambios conflictivos. Después de seleccionar este mandato, el programa le avisará antes de intentar realizar una fusión y le pedirá si desea efectuar una autofusión del contenido o alterarlo temporalmente con el archivo del depósito. Si selecciona la autofusión sólo se procesarán los conflictos autofusionables y los cambios entrantes se autofusionarán con los cambios locales. De lo contrario, se procesarán todos los conflictos y los recursos locales se sustituirán por el contenido remoto. Este comportamiento de "sustitución" raramente será el deseado. A continuación se describirá una alternativa.
Para actualizar archivos no conflictivos y autofusionables:
Si el Entorno de trabajo local contiene cambios salientes no autofusionables con los cambios entrantes que proceden de la rama, en lugar de realizar una acción Alterar temporalmente y actualizar, puede fusionar las diferencias manualmente en el Entorno de trabajo, como se indica a continuación:
Nota: el contenido del depósito no se cambia cuando se realiza una actualización. Cuando acepta cambios entrantes, estos cambios se aplican en el Entorno de trabajo. El depósito sólo se cambia al comprometer los cambios salientes.
Consejo: en el panel Comparar estructura, al seleccionar un ancestro de un conjunto de cambios entrantes se realizará la operación en todos los correspondientes hijos. Por ejemplo, al seleccionar la carpeta superior y elegir Actualizar desde el depósito se procesarán todos los cambios entrantes no conflictivos y se dejarán los demás cambios entrantes sin procesar.
Aviso: el comportamiento del mandato Alterar temporalmente y actualizar que se ha descrito anteriormente sólo es aplicable en la modalidad entrante de la vista Sincronizar. En la modalidad entrante/saliente de la vista, el comportamiento en los cambios entrantes y en los conflictos es el mismo, pero el mandato revertirá los cambios salientes al contenido existente en el depósito. Debe actuar con gran precaución al utilizar este mandato en modalidad entrante/saliente.
Programación en equipo con CVS
Sincronizarse con un depósito CVS
Comprometer
Resolver conflictos
Comparar recursos
Ciclo de vida del control de versiones: añadir y excluir
recursos