
Tengo copias de trabajo del mismo repositorio en dos computadoras diferentes (Mac). Hay un archivo en cuestión (digamos SomeFile.m
) que muestra estar en r703 en ambas copias de trabajo, sin modificaciones locales. Hacerlo svn update SomeFile.m
en ambos lados no produce actualizaciones: cree que está totalmente actualizado con el repositorio.
Sin embargo, los dos archivos son diferentes. Tienen diferentes sumas de verificación y una diferencia muestra diferencias que son importantes para el código. El archivo es correcto en una de las copias de trabajo, pero no en la otra.
En primer lugar, ¿cómo fuerzo que el archivo incorrecto sea reemplazado por lo que esté en el repositorio?
En segundo lugar, ¿cómo llegó este archivo a este estado en primer lugar? ¿A través de una resolución incorrecta de conflictos o algo así?
Respuesta1
Si una versión de archivo es la correcta, pero sospecha que la versión en el repositorio es incorrecta, consulte¿Cómo puedo forzar a Subversion a enviar un archivo sin cambios?
Si desea forzar la obtención de archivos del repositorio, consulteForzar un comando svn checkout para sobrescribir los archivos actuales.
De lo contrario, simplemente modifique uno de los archivos, guárdelo en el repositorio como nueva revisión y vuelva a realizar la compra en la otra computadora como se indicó anteriormente.
Respuesta2
La forma más fácil que he encontrado de "forzar" la extracción/actualización de un archivo en particular es eliminar ese archivo en la copia de trabajo: eliminar el sistema de archivos,no svn-delete
- y ejecutar una actualización de la copia de trabajo. El archivo se restaurará con la versión del repositorio.
Una forma en que el archivo podría haber llegado a este estado es que tiene alguna modificación local que pasó desapercibida. SVN no enviará el archivo sin una resolución de conflicto y tampoco se actualizará.