tag - ¿Cómo obtengo una lista de todos los archivos no versionados de SVN?
subir proyecto a svn (5)
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?
O desde la línea de comando de Windows:
svn stat | find "?"
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 redireccionará la salida a AWK que hará que el filtro simple "primer carácter debería ser ''?''" Luego imprimirá el segundo parámetro "que es la ruta del archivo".
svn status
no siempre imprimirá los archivos ignorados. Puede agregar un archivo o ruta agregando esa ruta usando
svn propset svn:ignore "PATH OR PATERN"
Si algunos archivos han tenido ''ignorar'' agregado a su estado, no aparecerán en ''estado de svn''. Necesitarás:
svn status --no-ignore
Si está ejecutando en Windows, podría hacer algo similar a la respuesta de utilizando 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!
Use el comando svn status
:
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, binarios generados), debe configurar la propiedad svn:ignore
en el directorio que lo contiene para que estos archivos no sigan apareciendo al usar svn status