2009-11-30 13 views
14

Estoy usando SVN 1.6.3 y TortoiseSVN 1.6.6. Periódicamente cuando hago una actualización desde la raíz de mi proyecto, SVN no puede recoger un directorio recién agregado (agregado por un compañero de trabajo). He verificado que el número de revisión es correcto e incluso puedo ver el nuevo directorio (y sus archivos) en el registro de esa revisión. Esto no parece afectar a todas las computadoras de la misma manera (funcionó bien en otra) y las actualizaciones múltiples no lo corregirán. Pero, si elimino el directorio anterior donde se supone que debe estar este nuevo directorio y realizo otra actualización de SVN ... el problema se resuelve.Subversion pierde directorios nuevos durante la actualización

Mi primer pensamiento es que es un problema que se ha resuelto con una versión posterior de SVN (1.6.6, etc.) o un problema con mi versión de cliente de TortoiseSVN. ¿Alguien puede confirmar/negar alguno de estos? ¿Es fácil actualizar a una nueva versión de SVN con un repositorio existente?

gracias ...

Respuesta

18

Parece que tienen una copia de trabajo sparse. Pruebe svn update --set-depth infinity y vea si eso lo hace.

El equivalente en Tortoise establece la profundidad de la actualización en "Totalmente recursivo" cuando se abre el cuadro de diálogo Actualizar.

+0

Un error en las primeras versiones 1.6.x agregó nuevos directorios agregados localmente como dispersos. Este comando resolverá eso. Los clientes 1.6.x recientes ya no tienen este problema –

+0

Tuve este problema con svn en Ubuntu y la línea de comando en esta respuesta lo resolvió. +1 –

+0

Normalmente tengo este problema pero nunca hago copias de trabajo dispersas. – whitey04

1

SVN en el pasado siempre ha sido compatible con versiones anteriores en lo que respecta a repositorios, por lo que no tiene que preocuparse por eso. Sobre todo porque la última versión es solo 1.6.6, por lo que no se queda atrás.

¿Puedes confirmar que los directorios que esperas están efectivamente en el repositorio?

svn ls <repository-url> 

En el directorio padre de los directorios se está esperando a ser añadido o utilizar el navegador de repositorio de tortuga para comprobar que están ahí.

2

Obtengo este tipo de problemas una vez al mes. En mi caso, había un archivo en el repositorio que faltaba localmente (podía navegar por el repositorio y verlo), pero svn pensó que mi versión del directorio estaba actualizada. El número de versión interna del directorio almacenado en los archivos locales era correcto, pero el archivo que necesitaba no estaba allí. Acabo de sacar una copia local fresca de toda la enchilada para arreglarlo.

5

Tal vez this podría ayudar?

Cuando actualizo una copia de trabajo, ¡no se agregan nuevos archivos!

Entre TortoiseSVN 1.6.0 y 1.6.1, se agregaron carpetas agregadas con una profundidad de "Solo este elemento". Esto condujo a un llamado "checkout disperso" de esa parte de su copia de trabajo.

Actualice a la última versión de TortoiseSVN para evitar tales problemas en el futuro.

para fijar su copia de trabajo escasa, en lugar de "actualización", utilice la "Actualización de a revisión ..." comando del submenú TortoiseSVN (clic derecho en Explorer), cambiar la "Actualización de profundidad" combobox a "Completamente recursivo".

5

Estamos viendo una situación en la que una fusión previa provoca un conflicto de árbol y, a continuación, determinados directorios no se actualizan en absoluto pero no arrojan un mensaje de error en la actualización. De hecho, una vez que ocurre, no podemos encontrar ninguna forma programática de detectar la situación. El conflicto de árbol no aparece cuando se busca una modificación y la única forma en que sabíamos que teníamos un problema era comparando manualmente los archivos con el repo-navegador y los registros. Solo por deducción descubrimos que tenía algo que ver con un conflicto de árbol.

Tuvimos que eliminar el directorio original y volver a salir. Y no hemos encontrado una forma programática de detectar cuándo ocurre esto. Es infrecuente, pero se ha reproducido un puñado de veces.

Información terriblemente escasa, lo sé.

Cuestiones relacionadas