UC3M

Grado en Ing. Telemática/Sist. Audiovisuales/Sist. de Comunicaciones

Arquitectura de Sistemas

Septiembre 2017 - Enero 2018

15.3. Descarga nuevas versiones del depósito central: update

Cuando se comparten ficheros entre varios usuarios (o se mantienen varias copias en diferentes máquinas) es posible que el servidor central tenga una copia más reciente que los almacenados en tu ordenador. En este caso es necesario actualizar nuestra copia para que tenga los cambios que hay en el depósito. Esta operación se invoca con la orden update tal y como se muestra en el siguiente ejemplo:

svn --username [TU_ID] update

Este comando se debe ejecutar desde una carpeta que contiene ficheros gestionados por Subversion (de ahí que no haga falta especificar la URL del depósito remoto). Lo típico es comenzar una sesión de trabajo con este comando para cerciorarnos de que tenemos la versión más actualizada de los ficheros. La siguiente figura muestra la evolución de las copias locales y remotas cuando se aplica el comando update.

Cuando se ejecuta este comando se actualizan todos los ficheros de las subcarpetas de forma recursiva. Para cada fichero que procesa (los que no tienen cambios se ignoran), se imprime una letra en la primera columna de la pantalla cuyo significado es:

  • A: Añadido. El fichero ha sido añadido en la remota y por tanto se ha añadido también a la local.

  • D: Borrado. El fichero ha sido borrado en la copia remota, y por tanto, también ahora en la local.

  • U: Actualizado. Se ha actualizado la copia local con una más reciente del depósito remoto.

  • E: Ya existente. Hay un fichero nuevo creado en la copia local, pero que no ha sido incorporado a subversion, y se quiere descargar otro de igual nombre desde la copia remota. Lo recomendable es borrar la copia local para que la remota se descargue.

  • G: Mezclado. La copia remota tenía cambios, y la local también, pero se han aplicado ambos sin problema y se tiene ahora una copia local, todavía modificada, pero con los cambios del depósito remoto.

  • C: Conflicto. Se han detectado cambios en la copia local y remota de un fichero, y no se pueden mezclar automáticamente. El fichero local se modifica para incluir las dos versiones del cambio una a continuación de la otra para que el usuario lo resuelva. Hay que editar el fichero, buscar la marca <<<<< y mezclar a mano las dos versiones.

Para evitar los conflictos que surgen al mezclar cambios, se pueden seguir dos reglas sencillas: evitar que dos personas trabajen a la vez en el mismo fichero, y en caso de que esto no sea posible, enviar a menudo los cambios al depósito y descargarse las últimas versiones más a menudo para que los cambios puedan ser mezclados de forma automática. Si tras actualizar tu copia local se ha producido algún conflicto, lee la sección 15.9 para ver en detalle cómo proceder.