Pregunta ¿Cómo obtengo una lista de todos los archivos no versionados de SVN?


A veces estás desarrollando y decides comprometerte, olvidando que has creado algunos archivos en tu proyecto. Luego, unos días después, su amigo obtiene su compilación de Subversion y se queja de que algunos archivos parecen estar ausentes. Te das cuenta, ah mierda, me olvidé de agregar esos archivos!

¿Cómo puedo obtener una lista de los archivos que no están bajo el control de la versión de Subversion, así que estoy seguro de que he agregado todo al repositorio?


75
2017-10-19 05:25


origen


Respuestas:


Utilizar el svn status mando:

svn status | grep ^?

Los archivos que no están versionados se indican con un? al comienzo de la línea.

Si encuentra que siempre tiene algunos archivos específicos que no deberían agregarse al repositorio (por ejemplo, los binarios generados), debe configurar el svn:ignore propiedad en el directorio contenedor para que estos archivos no sigan apareciendo al usar svn status.


97
2017-10-19 05:26



Si algunos archivos han tenido 'ignorar' agregado a su estado, no aparecerán en 'estado de svn'. Necesitarás:

svn status --no-ignore

41
2017-08-29 14:05



Si está ejecutando en Windows, podría hacer algo similar a Greg HewgillLa respuesta de PowerShell.

(svn stat) -match '^\?'

Esto podría extenderse con bastante facilidad para encontrar todos los archivos no versionados e ignorados y eliminarlos.

(svn stat "--no-ignore") -match '^[I?]' -replace '^.\s+','' | rm

Espero que sea útil para alguien!


15
2017-07-04 12:42



O desde la línea de comando de Windows:

svn stat | find "?"

10
2017-11-26 17:05



Puede usar este comando para enumerar todas las rutas para archivos no versionados:

svn status | awk '/^?/ {print $2}'

La primera parte hará un svn status, y luego redirigirá la salida a AWK que hará el filtro simple "el primer caracter debe ser '?'" luego imprimirá el segundo parámetro "que es la ruta del archivo".

svn status será siempre no imprimir archivos ignorados Puede agregar un archivo o ruta agregando esa ruta usando

svn propset svn:ignore "PATH OR PATERN"

0
2017-09-25 11:00