2010-02-11 7 views
82

Estoy usando Versiones para SVN.SVN (Subversion) Problema "El archivo está programado para sumar, pero falta" - Uso de las versiones

intento de cometer y obtener este mensaje:

confirmación fallida (detalles a continuación): '/Users/mike/Sites/mysite.com/astss-cvsdude/Trunk/cart/flashfile.swf ' está programado para la adición, pero es falta

supongo que esto se debe a que había añadido archivos al repositorio, y luego eliminada a través del sistema de archivos.

Me gustaría que simplemente tome nota de mi cambio y aplique el cambio al repositorio.

¿Cómo puedo evitar esto?

Respuesta

9

Agregar un archivo y luego eliminarlo es el tipo de operación que se considera un error, por lo que SVN te lo indica. ¡Le dijiste que esperara algunos datos de archivo y luego no los proporciona cuando confirmas, las luces rojas parpadean y las sirenas se disparan!

La respuesta es deshacer su complemento, alternativamente confirmar el archivo y luego usar 'svn rm' para eliminarlo del sistema de archivos y el repositorio.

+0

consigo esto desde Xcode donde añado un archivo y lo hizo mal o algo y di Xcode eliminar (Mover a la papelera) Lamentablemente, Xcode lo deja en este estado y no hace el rm de svn para mí aunque elimina el archivo ... – chadbag

107

no estoy seguro de lo que estás tratando de hacer: Si ha añadido el archivo a través

svn add myfile 

que sólo le dijo a SVN para poner este archivo en su repositorio cuando haces tu próxima confirmación. No hay cambios en el repositorio antes de escribir un

svn commit 

Si elimina el archivo antes de la confirmación, svn lo tiene en sus registros (porque has añadido) pero no puede enviarlo al repositorio porque el archivo ya no se existe.

Entonces, o desea guardar el archivo en el repositorio y luego eliminarlo de su copia de trabajo: en este caso, intente recuperar su archivo (¿desde la papelera?), Realice la confirmación y elimine el archivo posteriormente a través del

svn delete myfile 
svn commit 

Si desea deshacer la add y acaba de lanzar el archivo de distancia, lo que pueda para una

svn revert myfile 

que cuenta svn (en este caso) para deshacer el complemento de operación.

EDITAR

Lo siento, no era consciente de que está utilizando el "Versiones" cliente GUI para Max OSX. Por lo tanto, intente revertir en el directorio que lo contiene usando la GUI o salte al agua fría y encienda su shell de comandos de Mac oculto :-) (se llama "Terminal" en el OSX alemán, ni idea de cómo hacerlo en inglés versión ...)

+2

El problema aquí es que usa una GUI. Si puede usar la línea de comando de todos modos, podría 'svn rm' el archivo aunque no exista en el directorio. – Pikrass

+0

Ok, no tenía conocimiento del cliente de "Versiones" para OSX. Debería poder usar "revertir" de todos modos, ¿no? Eso funcionaría con TortoiseSVN en Windows. – MartinStettner

+0

svn cleanups y svn rms later ... Gracias por su ayuda chicos. ¿Hay alguna manera de decirle a svn, "mira, agregué algunos archivos a través del administrador de archivos predeterminado de mi sistema operativo, y en este momento, las cosas en esta carpeta, es lo que quiero que sea el estado actual de este repositorio ... ahora déjelo suceder ... no me digas lo que puedo y no puedo hacer con estos archivos, pero sí, hazme un seguimiento de todo esto ". – Mike

21

Tuve el mismo problema con las versiones que muestran el mismo mensaje. Simplemente hice clic derecho en los archivos ofensivos y seleccioné 'Revertir ...' en el menú del botón derecho y todo fue bueno.

Basically Versions (en realidad, Subversion) cree que aún desea agregar el archivo, pero no puede encontrarlo porque lo eliminó en el sistema de archivos. La opción Revertir le dice a Subversion que se olvide de agregarlo.

+0

Recibí este error porque había eliminado una carpeta de la jerarquía de la aplicación. Acabo de agregar una carpeta vacía con el mismo nombre y funcionó. – Yogi

2

Evite el uso de Xcode para cambiar el nombre de los archivos en una referencia de carpeta. Si cambia el nombre de un archivo con Xcode, se marcará para confirmar. Si luego lo elimina antes de la confirmación, terminará con este error.

1

This ha resuelto mi problema similar. Lo utilicé para revertir los cambios, entonces añadí todo y cambios comprometidos en el terminal con

svn add folder_path/* 
svn commit -m "message" 
Cuestiones relacionadas