Respuestas:
Para obtener detalles adicionales, consulte el SVNBook: "Estado de los archivos y directorios de copia de trabajo" .
Los estados comunes:
U : se actualizó el archivo de trabajo
G : los cambios en el repositorio se fusionaron automáticamente en la copia de trabajo
M : copia de trabajo modificada
C : este archivo entra en conflicto con la versión en el repositorio
? : Este archivo no está bajo control de versiones
! : Este archivo está bajo control de versión pero falta o está incompleto
A : Este archivo se agregará al control de versiones (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 resto de la copia de trabajo (usando el interruptor svn) a una rama
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 se programó para su eliminación, y luego se programó un nuevo archivo con el mismo nombre para agregarlo en su lugar.
L : el artículo está bloqueado
E : El artículo existía, como habría sido creado, por una actualización svn.
E
? Toda la documentación dice que es "Existe", lo que no es tan útil.
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 se actualizó
filename.2: una propiedad o propiedades en el archivo (como svn: keywords) se actualizó
filename.3: tanto el archivo como sus propiedades se actualizaron
Siempre puede obtener una lista ejecutando:
svn status --help
Quiero decir algo sobre el estado "G",
G: los cambios en el repositorio 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, ya que todos los archivos se fusionan automáticamente en la copia de trabajo, la correcta debería ser:
U = elemento (U) actualizado a la versión del repositorio
G = cambios locales del elemento mer (G) ed con repositorio
C = cambios locales del elemento (C) onflicted con repositorio
D = elemento (D) elegido de la copia de trabajo
A = elemento (A) eliminado 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. Por eso, nunca puedo recordar los códigos cuando tengo que recurrir a la línea de comando.
Esta hoja de trucos me parece de gran ayuda: Hoja de trucos de Subversion
$ 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. Tal vez habría tenido más sentido indicar las columnas vacías con guiones, como lo ls -l
hace, en lugar de nada. Entonces, por ejemplo, L index.html
se vería --L--- index.html
, lo que hace obvio que la única información que tenemos es en la tercera columna la que trata sobre el bloqueo. De todos modos, una vez que sabes que comienza a tener más sentido.
La primera columna indica que se agregó, eliminó o modificó un elemento.
Sin modificaciones
A
El artículo está programado para sumar.
D
El artículo está programado para su eliminación.
M
El artículo ha sido modificado.
R
El artículo ha sido reemplazado en su copia de trabajo. Esto significa que el archivo se programó para su eliminación, y luego se programó un nuevo archivo con el mismo nombre para agregarlo en su lugar.
C
El contenido (a diferencia de las propiedades) del elemento entra en conflicto con las actualizaciones recibidas del repositorio.
X
El artículo está relacionado con una definición externa.
I
El elemento se ignora (por ejemplo, con la propiedad svn: ignore).
?
El artículo no está bajo control de versiones.
!
Falta el elemento (por ejemplo, lo movió o lo eliminó sin usar svn). Esto también indica que un directorio está incompleto (se interrumpió un proceso de pago o actualización).
~
El artículo está versionado como un tipo de objeto (archivo, directorio, enlace), pero ha sido reemplazado por otro tipo de objeto.
La segunda columna indica el estado de las propiedades de un archivo o directorio.
Sin modificaciones
M
Se han modificado las propiedades de este artículo.
C
Las propiedades de este elemento están en conflicto con las actualizaciones de propiedades recibidas del repositorio.
La tercera columna se rellena solo si el directorio de copia de trabajo está bloqueado (una limpieza de svn normalmente debería ser suficiente para borrarlo)
El artículo no está bloqueado.
L
El artículo está bloqueado.
La cuarta columna se rellena solo si el elemento está programado para agregarse con historial.
No hay historial programado con commit.
+
Historia programada con commit.
La quinta columna se rellena solo si la copia de trabajo del elemento se cambia en relación con su padre
El artículo es hijo de su directorio padre.
S
El artículo está cambiado.
La sexta columna se rellena con información de bloqueo.
Cuando se utiliza –show-updates, el archivo no está bloqueado. Si no se utiliza –show-updates, esto simplemente significa que el archivo no está bloqueado en esta copia de trabajo.
K
El archivo está bloqueado en esta copia de trabajo.
O
El archivo está bloqueado por otro usuario o en otra copia de trabajo. Esto solo aparece cuando se utiliza –show-updates.
T
El archivo fue bloqueado en esta copia de trabajo, pero el bloqueo ha sido robado y no es válido. El archivo está actualmente bloqueado en el repositorio. Esto solo aparece cuando se utiliza –show-updates.-
B
El archivo se bloqueó en esta copia de trabajo, pero el bloqueo se ha roto y no es válido. El archivo ya no está bloqueado Esto solo aparece cuando se utiliza –show-updates.
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 haga el comando, 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 elemento en su copia de trabajo está actualizado.
*
Existe una revisión más reciente del elemento en el servidor.
Consulte la referencia del Libro de Subversion: "Estado de los archivos y directorios de copia de trabajo"
Muy recomendable para cualquiera que esté haciendo casi 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 <symbol>"
}