subir - svn tag
¿Qué significan los códigos de resultado en SVN? (9)
¿Qué significan los códigos de resultado en SVN? Necesito una referencia rápida.
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.
Tal vez hubiera tenido más sentido indicar las columnas vacías con guiones, como lo hace
ls -l
, en lugar de nada.
Entonces, por ejemplo,
L index.html
se vería como
--L--- index.html
, lo que hace que sea obvio que la única información que tenemos está en la tercera columna, la del bloqueo.
De todos modos, una vez que sepas eso comienza a tener más sentido.
SVN Estado de la primera columna: A, D, M, R, C, X, I,?,!, ~
La primera columna indica que un elemento fue agregado, eliminado o cambiado de otra manera.
Sin modificaciones.
A
artículo está programado para la adición.
D
artículo está programado para su eliminación.
M
artículo ha sido modificado.
R
artículo
R
ha sido reemplazado en su copia de trabajo.
Esto significa que el archivo fue programado para su eliminación, y luego un nuevo archivo con el mismo nombre fue programado para su adición en su lugar.
C
El contenido (a diferencia de las propiedades) del elemento entra en conflicto con las actualizaciones recibidas del repositorio.
X
elemento
X
está relacionado con una definición externa.
I
elemento se está ignorando (por ejemplo, con la propiedad svn: ignore).
?
El artículo no está bajo control de versión.
!
Falta el elemento (por ejemplo, lo movió o eliminó sin usar svn).
Esto también indica que un directorio está incompleto (se interrumpió una extracción o actualización).
~
artículo se versiona como un tipo de objeto (archivo, directorio, enlace), pero se ha reemplazado por otro tipo de objeto.
Estado de SVN segunda columna: 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
C
para este elemento están en conflicto con las actualizaciones de propiedades recibidas del repositorio.
Estado de SVN tercera columna: L
La tercera columna se llena solo si el directorio de la copia de trabajo está bloqueado (una limpieza svn normalmente debería ser suficiente para borrarlo)
El artículo no está bloqueado.
L
artículo está bloqueado.
Estado de SVN cuarta columna: +
La cuarta columna se rellena solo si el elemento está programado para la adición con historial.
No hay historial programado con cometer.
+
Historial programado con compromiso.
Estado de SVN quinta columna: S
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 un hijo de su directorio padre.
S
Se cambia el artículo.
Estado de SVN sexta columna: K, O, T, B
La sexta columna se rellena con información de bloqueo.
Cuando se utiliza –show-updates, el archivo no se bloquea.
Si no se utiliza –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 se ha bloqueado en esta copia de trabajo, pero el bloqueo se ha robado y no es válido.
El archivo está actualmente bloqueado en el repositorio.
Esto solo aparece cuando se usa –show-updates.-
B
archivo se ha bloqueado 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 usa –show-updates.
Estado de SVN séptima columna: *
La información no actualizada 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, ya que no se dan cuenta de que solo comparan 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 reciente del elemento en el servidor.
Cuando 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>"
}
Eche un vistazo en la referencia del libro de Subversion: "Estado de los archivos y directorios de copia de trabajo"
Muy recomendable para cualquiera que haga casi cualquier cosa con SVN.
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 : Se modifica la copia de trabajo.
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 versión (después de confirmar)
A + : este archivo se moverá (después de confirmar)
D : Este archivo será eliminado (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
Yo : 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 programado para su eliminación, y luego un nuevo archivo con el mismo nombre fue programado para su adición en su lugar.
L : el artículo está bloqueado
E : El elemento existía, como se habría creado, por una actualización svn.
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 una copia de trabajo, la correcta debe ser:
U = elemento (U) actualizado a la versión del repositorio
G = cambios locales mer (G) ed del elemento con repositorio
C = cambios locales (C) del artículo en conflicto con el repositorio
D = artículo (D) eliminado de la copia de trabajo
A = elemento (A) dded a copia de trabajo
Siempre puedes obtener una lista ejecutando:
svn status --help
También hay un estado ''E''
E = El archivo existía antes de la actualización
Esto puede suceder si ha creado manualmente una carpeta que se habría creado al realizar una actualización.
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
nombre de archivo.2: se actualizó una propiedad o propiedades en el archivo (como svn: keywords)
filename.3: tanto el archivo como sus propiedades fueron actualizados
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 comandos.
Considero que esta hoja de trucos es de gran ayuda: Hoja de trucos de Subversion