Pregunta

Tuve un problema con la confirmación de cambios después de fusionar dos ramas de mi proyecto utilizando TortoiseSVN.

Aquí están los detalles:

Hice una combinación de rama a troncal del proyecto en el que estoy trabajando.

Proyecto incluye el repositorio principal y las bibliotecas unidas al repositorio principal como svn external (las bibliotecas también están ramificadas) como subdirectorio del proyecto .

Cuando intentaba confirmar los cambios TortoiseSVN dijo:

Commit A
re all the targets part of the same working copy? 
Unable to lock 'D:\websites\project\lib' 
Please execute the "Cleanup" command.

Por supuesto, Limpieza no ayudó.

La palabra clave

svn: external para el directorio proyecto estaba bien definida, y la carpeta lib todavía contenía la versión adecuada de las bibliotecas (versión de troncal).

Tanto el servidor SVN como el cliente están en la versión 1.5.x (TortoiseSVN es 1.5.3.x).

Desde el punto de vista técnico, tanto proyecto como bibliotecas son proyectos en el mismo repositorio SVN.

¿Alguna idea de lo que salió mal?

Había estado buscando un poco en Google para la solución, pero no encontré nada útil, así que intenté confirmar mis cambios en dos pasos:

  1. confirmar cambios desde la carpeta del proyecto
  2. confirmar cambios desde la carpeta de bibliotecas

Lo que pasó sin problemas.

Pero todavía me pregunto por qué no pude cometer todo en un solo compromiso.

EDICIONES:

  • (Después de la respuesta de Ken G) Versión fija de TortoiseSVN 1.3.x - > 1.5.3.x.
¿Fue útil?

Solución

svn:external hará que Subversion combine diferentes rutas de repositorio en el check-out, pero en última instancia esas rutas siguen siendo "disjuntas", por lo que tiene que hacer dos confirmaciones para obtener los cambios aplicados.

Aquí está la cita relevante de Control de versión con Subversion

  

Y Subversion todavía funciona de verdad   Solo en copias de trabajo no dispuestas.   Así, por ejemplo, si quieres comprometerte.   Cambios que has hecho en uno o   más de esas copias de trabajo externas,   debe ejecutar svn commit explícitamente en   aquellas copias de trabajo & # 8212; cometiendo en el   La copia de trabajo primaria no se retracta   en cualquier externo.

Otros consejos

1.3 de TortoiseSVN es muy antiguo , la última revisión es 1.5.x. Ha habido numerosos cambios tanto en Subversion como en TortoiseSVN desde la versión 1.3, por lo que actualizar a su cliente es probablemente su mejor opción.

Habiendo dicho eso, 1.5 TortoiseSVN va a crear / actualizar copias de trabajo a un formato de la versión 1.5. TENGA MUCHO CUIDADO cuando use TortoiseSVN (o cualquier cliente SVN) contra una copia de trabajo de Subversion anterior.

Creo que recuerdo haber leído sobre un error relacionado con esto en TortoiseSVN que se ha corregido en la última versión. Consulte las últimas notas de la versión .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top