svn - working - Estado "S" en Subversion




tortoise svn repository moved temporarily to (9)

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 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.


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


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.


Hay otra forma en que se puede lograr este estado, lo que con suerte salvará a alguien de rastrearlo.

Desempaqué una biblioteca externa en mi raíz SVN, y resulta que el autor de terceros accidentalmente ha incluido su propia carpeta .svn en una de sus carpetas. Esto, por supuesto, sobrescribe nuestra propia y correcta carpeta de subversión y tiene el mismo efecto que se describe en otra parte de esta página: parece que una carpeta se ha cambiado inesperadamente a otra sucursal.


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)


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.


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.


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).






status