tortoise tag from create svn commit

from - tag svn



Falló la confirmación de SVN: directorio desactualizado (8)

¿Has probado svn up dir antes de hacer el commit final?

Tengo un problema que parece muy simple pero que es difícil de resolver. Obtengo el error mencionado después de eliminar un directorio. No encontré una solución aún para resolver el conflicto. Así es como ocurre:

svn add dir svn add dir/file1 svn commit svn add dir/file2 svn commit svn delete dir svn commit --> commit failed --> Directory ''/dir'' is out of date

La solución obvia ''svn update'' no funciona. Después de la actualización de svn, una próxima confirmación falla con:

Commit failed Directory ''/dir'' remains in conflict.

Mientras tanto encontré una solución, pero es un poco engorrosa:

svn resolve --accept working dir svn commit --> still fails svn update svn commit --> still fails svn resolve --accept working dir svn commit --> NO PROBLEM!

Dos preguntas: ¿alguien puede explicar este comportamiento porque tengo mucha curiosidad al respecto? Este problema ocurre en un script de Perl en una situación mucho más compleja. ¿Alguien puede darme una solución simple con ''factible'' en el script de Perl?


Esto sucede cuando va a enviar un archivo y también se actualiza el mismo archivo en el SVN. Entonces va a entrar en conflicto. Entonces, lo que tienes que hacer es tomar una copia de tus cambios y revertir el archivo. luego pegue nuevamente su código. Entonces puedes comprometerte sin problemas.


Haga la actualización, la limpieza y luego confirme.


Para evitar este problema utilicé ''svn revert'' y luego realicé el commit nuevamente, lo cual debería eliminar el contenido en el ''svn delete'' y luego volver a cometer. Tengo este problema tratando de cambiar el nombre de un directorio pero espero que esto funcione.


Problema similar al nuevo espacio de trabajo:

$ svn delete dir/file D dir/file $ svn ci -m "comment1" Deleting dir/file $ svn delete dir/ D dir $ svn ci -m "comment2" Deleting dir svn: Commit failed (details follow): svn: Item ''dir'' is out of date

Para resolver el problema, volví a actualizar las fuentes y usé el comando ''eliminar URL'':

$ svn delete --force https://server/path.../dir $ svn update


Si entiendo la subversión correctamente, el problema es este:

Subversion rastrea la revisión actual para cada archivo y directorio por separado. Cada vez que se confirma un cambio en un archivo, la revisión del directorio padre cambia en el repositorio, pero su copia de trabajo todavía tiene el directorio en su revisión anterior.

Entonces, en su escenario después de agregar el archivo, el directorio padre en el repositorio tiene una revisión más alta que su copia de trabajo. Cuando intenta eliminar el directorio que está trabajando en una versión obsoleta.

Resolver:

Haga una svn update después de agregar el archivo, pero antes de eliminar el directorio.

En general, si no desea obtener los cambios de otra persona, puede restringir la actualización al directorio en sí: svn up --depth empty dir .


Solo necesita actualizar y luego confirmar


Simplemente haga una svn update y luego su confirmación debería funcionar.