svn working Estado "S" en Subversion



tortoise svn repository moved temporarily to (11)

Tuve el estado " S " al cambiar de troncal (r100) a alguna rama (r50). Obtuve el error:

svn: Failed to add file 'web/.htaccess': an unversioned file of the same name already exists

Todos los subdires de la web / fueron ' S ' marcados.

La causa: había eliminado .htaccess a svn: ignóralo (r100), luego lo había creado nuevamente (no versionado e ignorado). La sucursal (r50) aún tenía acceso web / .htaccess en el repositorio.

La solución :

mv web/.htaccess ../../
svn switch back to trunk
svn switch to branch again

Todo está bien.

En algún momento, todos los archivos en mi copia de trabajo se marcaron con el símbolo "S" como se muestra a continuación:

$ svn st
M    S   AclController.php
     S   InstallationController.php
     S   CustomerController.php
     S   RedirController.php
     S   IndexController.php
     S   LoginController.php
     S   OrderController.php
     S   ProductController.php
     S   SelfInstallController.php
     S   SelfcareController.php

Curiosamente, solo ocurre en esta copia de trabajo particular: cuando pago el proyecto en el nuevo directorio, no muestra las marcas "S".

¿Cómo deshacerse de estos molestos símbolos "S"? Disminuye significativamente la claridad del estado de WC.

Actualización: cambio de vez en cuando con la sintaxis estándar del svn switch . Nunca causó que este símbolo "S" apareciera hasta hace poco. El comando utilizado para cambiar fue:

svn switch svn+ssh://xxxxxx/subversion/xxxxxxx/releases/1.0.16 .

¿Hay alguna manera de borrar la bandera "S"?


En mi caso, esto sucede cuando se interrumpe el comando "svn switch" y para resolverlo con TortoriseSVN, hago clic derecho en el archivo y selecciono cambiar de nuevo a parent


Si llama a 'svn info' en el directorio mismo y en (uno de) los archivos dentro, obtendrá dos URL diferentes.

Obtiene el estado "S" si la URL de un archivo / directorio no coincide con la URL del padre seguido del nombre del archivo.

¿Puedes publicar la url del padre y uno de los nodos secundarios? (Anonimizando la URL donde corresponda)


Una solución simple para deshacerse de la 'S' cuando emite

svn status

es simplemente ir al directorio que está marcado con 'S' y eliminar el directorio oculto .svn:

rm -rf .svn

Después, las fuentes aparecen marcadas con '?' y puedes agregarlos fácilmente:

svn agregar ruta / a / recurso


Le sugiero que lea su ayuda oficial, intente:

svn st --help

o

svn st --help | grep S

'S' the item has a Switched URL relative to the parent

En caso de que alguien llegue tarde buscando la respuesta (que se indica correctamente más arriba), creo que una posible causa de esta situación es un 'svn switch' en un directorio principal que falla (como en el caso de un archivo local no asignado con el mismo nombre y ninguna opción de Fuerza), dejando todos los archivos posteriores a la falla 'sin cambio'.

Es por eso que (asumiendo que el problema original sea corregido posteriormente) un "interruptor de svn" subsecuente otra vez en el mismo directorio padre de hecho cambiará los archivos restantes no conmutados a una nueva ruta de repositorio.


Esto generalmente es causado por una interrupción cuando se cambian las ramas.

Cambie a una rama diferente y luego vuelva a la rama que realmente desea.

svn switch some_other_branch_url

svn switch desired_branch_url


Tuve este problema con un directorio que comprometí con éxito a SVN. La solución para mí fue borrarlo localmente y luego actualizarlo. No pude ver ninguna diferencia, pero el archivo .svn se corrigió por cualquier motivo (no más S).



Significa que los archivos provienen de una ubicación diferente en el repositorio de subversión que el directorio que los contiene. La solución es cambiar toda la copia de trabajo a la misma ubicación. Consulte las two sections en el libro de subversión para obtener detalles sobre cómo invocar el comando.


Esto significa que ha cambiado de una copia de trabajo a otra, por ejemplo, ha comprobado una copia de trabajo y luego la ha cambiado para compararla con una rama de código. Eche un vistazo al libro SVN para obtener detalles sobre cómo deshacer esto.





status