¿Qué significan los códigos de resultado en SVN?

¿Qué significan los códigos de resultado en SVN? Necesito una referencia rápida.

Para obtener más información, consulte el SVNBook: “Estado de los archivos y directorios de copia de trabajo” .

Los estados comunes:

U : archivo de trabajo fue actualizado

G : los cambios en el repository se fusionaron automáticamente en la copia de trabajo

M : la copia de trabajo se modifica

C : este archivo entra en conflicto con la versión en el repository

? : Este archivo no está bajo control de versión

! : Este archivo está bajo control de versión pero falta o está incompleto

A : este archivo se agregará al control de versión (después de la confirmación)

A + : este archivo se moverá (después de confirmar)

D : este archivo se eliminará (después de confirmar)

S : Esto significa que el archivo o directorio se ha cambiado de la ruta del rest de la copia de trabajo (usando el interruptor svn) a una twig

I : Ignorado

X : definición externa

~ : Tipo cambiado

R : El artículo ha sido reemplazado en su copia de trabajo. Esto significa que el archivo fue progtwigdo para su eliminación, y luego se programó un nuevo archivo con el mismo nombre para sumrlo en su lugar.

L : el artículo está bloqueado

E : el artículo existió, como se habría creado, mediante una actualización de svn.

También tenga en cuenta que un código de resultado en la segunda columna se refiere a las propiedades del archivo. Por ejemplo:

 U filename.1 U filename.2 UU filename.3 

filename.1: el archivo fue actualizado
filename.2: se actualizó una propiedad o propiedades en el archivo (como svn: keywords)
nombredearchivo.3: se actualizaron tanto el archivo como sus propiedades

Siempre puede obtener una lista ejecutando:

 svn status --help 

También hay un estado ‘E’

E = Archivo existió antes de la actualización

Esto puede suceder si ha creado manualmente una carpeta que se habría creado al realizar una actualización.

Quiero decir algo sobre el estado “G”,

G: los cambios en el repository se fusionaron automáticamente en la copia de trabajo

Creo que la definición anterior no es clara, puede generar un poco de confusión, porque todos los archivos se combinan automáticamente en la copia de trabajo, el correcto debería ser:

U = elemento (U) pdated a la versión del repository

G = cambios locales del elemento mer (G) ed con repository

C = cambios locales del elemento (C) en conflicto con el repository

D = elemento (D) elegido de la copia de trabajo

A = elemento (A) asignado a la copia de trabajo

Usualmente uso svn a través de una interfaz gráfica de usuario, ya sea mi IDE o un cliente. Debido a eso, nunca puedo recordar los códigos cuando tengo que recurrir a la línea de comando.

Encuentro esta hoja de trucos una gran ayuda: Hoja de trucos de Subversion

Eche un vistazo a la referencia del Libro de Subversion: “Estado de los archivos y directorios de copia de trabajo”

Muy recomendado para cualquiera que haga prácticamente cualquier cosa con SVN.

Siempre que no tenga acceso a la documentación ( SVNBook ), escriba (Linux):

 svn help status | grep \'\?\' svn help status | grep \'\!\' svn help status | grep \'\YOUR_SYMBOL_HERE\' 

o inserte la siguiente función en su archivo ~ / .bashrc, así:

 svncode() { symbol=$1 [ $symbol ] && svn help status | grep \'$(echo $symbol)\' || \ echo "usage: svncode " } 

enter image description here

Columnas de estado SVN

 $ svn status L index.html 

La salida del comando se divide en seis columnas, pero eso no es obvio porque a veces las columnas están vacías. Quizás hubiera tenido más sentido indicar las columnas vacías con guiones, de la forma en que ls -l hace, en lugar de nada. Entonces, por ejemplo, L index.html se vería como --L--- index.html , lo que hace obvio que la única información que tenemos está en la tercera columna sobre el locking. De todos modos, una vez que sabes que comienza a tener más sentido.

Primera columna de estado SVN: A, D, M, R, C, X, I,?,!, ~

La primera columna indica que se agregó, eliminó o modificó un elemento.

    Sin modificaciones

A artículo está progtwigdo para sumr.

D artículo está progtwigdo para supresión.

M Artículo ha sido modificado.

R artículo ha sido reemplazado en su copia de trabajo. Esto significa que el archivo fue progtwigdo para su eliminación, y luego se programó un nuevo archivo con el mismo nombre para sumrlo en su lugar.

C Los contenidos (a diferencia de las propiedades) del elemento entran en conflicto con las actualizaciones recibidas del repository.

X Item está relacionado con una definición externa.

I elemento está siendo ignorado (por ejemplo, con la propiedad svn: ignore).

? El artículo no está bajo control de versión.

! Falta el artículo (por ejemplo, lo movió o eliminó sin usar svn). Esto también indica que un directorio está incompleto (se interrumpió el pago o la actualización).

~ elemento se versiona como un tipo de objeto (archivo, directorio, enlace), pero ha sido reemplazado por diferentes tipos de objetos.

Segunda columna del estado de SVN: M, C

La segunda columna indica el estado de las propiedades de un archivo o directorio.

    Sin modificaciones

M propiedades de este artículo han sido modificadas.

C propiedades de este elemento entran en conflicto con las actualizaciones de propiedades recibidas del repository.

Tercera columna de estado de SVN: L

La tercera columna se completa solo si el directorio de copia de trabajo está bloqueado (una limpieza svn normalmente debería ser suficiente para eliminarlo)

    El artículo no está bloqueado.

L artículo está bloqueado.

La cuarta columna del estado de SVN: +

La cuarta columna se completa solo si el elemento está progtwigdo para agregar-con-historial.

    Sin historial progtwigdo con commit.

+ Historial progtwigdo con commit.

SVN Status fifth fifth: S

La quinta columna se completa solo si la copia de trabajo del elemento se cambia en relación con su padre

    El elemento es un elemento secundario de su directorio principal.

S artículo está cambiado.

SVN Status sexta columna: K, O, T, B

La sexta columna está poblada con información de locking.

    Cuando se usa -show-updates, el archivo no está bloqueado. Si no se usa -show-updates, esto simplemente significa que el archivo no está bloqueado en esta copia de trabajo.

K archivo está bloqueado en esta copia de trabajo.

O archivo está bloqueado por otro usuario o en otra copia de trabajo. Esto solo aparece cuando se usa -show-updates.

T Archivo fue bloqueado en esta copia de trabajo, pero el locking ha sido robado y no es válido. El archivo está actualmente bloqueado en el repository. Esto solo aparece cuando se usa -show-updates.-

B archivo se bloqueó en esta copia de trabajo, pero el locking se ha roto y no es válido. El archivo ya no está bloqueado. Esto solo aparece cuando se usa -show-updates.

SVN Status séptima columna: *

La información desactualizada aparece en la séptima columna (solo si pasa el modificador -show-updates). Esto es algo que las personas que son nuevas en SVN esperan que el comando haga, sin darse cuenta de que solo compara el estado actual del archivo con la información que obtuvo del servidor en la última actualización.

    El artículo en su copia de trabajo está actualizado.

* Existe una revisión más nueva del artículo en el servidor.