2011-10-11 12 views
25

Acabo de recibir el código de estado E de SVN por primera vez. Qué significa eso? The update documentation dice que significa "Existió", pero no da más detalles que eso.¿Qué significa el código de estado E en SVN?

Alternativamente, ¿qué es una "ruta obstructiva"? El archivo de ayuda largo indica que "Las rutas obstructivas se informan en la primera columna con el código 'E'".

Algunos antecedentes: eliminé un archivo de mi copia de trabajo que no debería haber eliminado. La actualización desde SVN no la restauró, por lo que creé un nuevo archivo con el mismo nombre de archivo y copié y pegué la copia repo del archivo en él.

Luego lo agregué al control de versiones, pero eso le dio el estado de "archivo versionado que debe agregarse al repositorio remoto", no el estado "sin cambios locales".

Usando Subclipse, me seleccionaron Reemplazar con>Lo último de Repositorio en la carpeta principal, y esto sucedió:

revert -N C:/foo/Bar.java 
    Reverted C:/foo/Bar.java 
update C:/foo/Bar.java -r HEAD --force 
    E C:/foo/Bar.java 
    Updated to revision 396. 
    ===== File Statistics: ===== 
    Existing: 1 

Respuesta

20

Una 'ruta obstruida' se refiere a un existente no versionado archivo o carpeta a la ruta donde el comando de actualización tiene que copiar un versionado archivo o carpeta.

el estado e sólo aparece cuando se utiliza la bandera --force, sin la bandera de la actualización acaba de fallar. con la bandera, deja el archivo solo y le permite decidir qué hacer con él.

Lo desconcertante de esta situación es cómo terminó pensando que el archivo no fue versionado inmediatamente después de una reversión exitosa.

Ref: svn help update

Si la ruta obstruida es del mismo tipo (archivo o directorio) que la ruta correspondiente en el repositorio se convierte en versionado pero su contenido se dejó 'tal cual' en el copia de trabajo.

+0

Además, el estado E se verá durante una actualización de un _file external_. En este caso, el estado E es el comportamiento estándar, no se requiere el indicador '--force'. –

5

E = Archivo existía antes de la actualización.

http://plind.dk/2009/06/26/svn-status-cheatsheet/

"No versionado obstruyendo caminos en el copia de trabajo no provocan automáticamente un fallo si la actualización de los intentos de añaden el mismo camino. Si la ruta obstruida es del mismo tipo (archivo o directorio) como la ruta correspondiente en el repositorio se convierte en versionada pero su contenido se deja 'tal cual' en la copia de trabajo. Esto significa que los elementos no versionados de un directorio obstructor pueden también obstruir y convertirse en versiones. Para los archivos, cualquier diferencia de contenido la obstrucción y el repositorio son tr como una modificación local de a la copia de trabajo. Todas las propiedades del repositorio se aplican a la ruta de obstrucción. Las rutas de obstrucción se informan en la primera columna con el código 'E'.

Utilice la opción -set profundidad para establecer una nueva profundidad copia de trabajo en los objetivos de esta operación."

Cuestiones relacionadas