Recientemente me encontré con un problema particularmente pegajoso con respecto a la comisión del resultado de una fusión en subversión. Nuestro servidor Subversion es @ 1.5.0 y mi cliente TortoiseSVN ahora es @ 1.6.1.Cómo corrijo "Error de confirmación. El archivo xxx está desactualizado. Ruta xxx no encontrada".
Estoy tratando de fusionar una rama de características en mi troncal. La fusión parece funcionar bien; sin embargo, la confirmación falla con el siguiente mensaje de error.
Commit failed (details follow):
File
'flex/src/com/penbay/invision/portal/services/http/soap/ReportServices/GetAllBldgsParamsByRegionBySiteResultEvent.as'
is out of date
'/svn/ibis/!svn/wrk/531d459d-80fa-ea46-bfb4-940d79ee6d2e/visualization/trunk/source/flex/src/com/penbay/invision/portal/services/http/soap/ReportServices/GetAllBldgsParamsByRegionBySiteResultEvent.as'
path not found
You have to update your working copy first.
Mi baúl de trabajo está actualizado. Incluso he comprobado uno nuevo en una carpeta diferente para asegurarme de que no haya ningún cruft local jugando con la fusión. He investigado un poco más sobre esto y creo que parte del problema es un error del usuario. Creo que nuestros problemas son:
- Tuvimos algunos desarrolladores que se comprometieron a trabajar con un cliente de subversión antes del 1.5 y algunos posteriores. Creo que esto tiene el potencial de corromper la información de fusión.
- En otras ramas hemos realizado fusiones parciales. Es decir, no siempre realizamos fusiones en la raíz de la rama. Esto fue para facilitar la actualización de los esfuerzos de Flex y .NET dentro de la misma rama.
- Realizamos fusiones cíclicas (reflexivas) en nuestra rama. Esto se hizo porque teníamos varias ramas paralelas y queríamos actualizar periódicamente nuestra sucursal con el código más reciente en el tronco.
El libro/equipo de Subversion no recomienda explícitamente todas estas cosas. Hemos aprendido nuestra lección y ahora conocemos las mejores prácticas. Sin embargo, primero tenemos que fusionar y comprometer nuestra última sucursal.
¿Cuál es la mejor manera de corregir los problemas que nos encontramos?
¿Sería una solución viable eliminar toda la información de fusión en el enlace y la bifurcación? No. He hecho esto pero no resuelve el error que estoy obteniendo arriba.
Debería haber hecho eso también, sin embargo, dado que esto sucedió durante una contracción de tiempo, exporté erróneamente mi rama al tronco y cometí los cambios, perdiendo así el historial. Afortunadamente, no he experimentado este problema desde entonces. –
Creo que la respuesta de @ simon-d a continuación es la solución real. Esto es más como una solución :) –