2010-11-05 10 views

Respuesta

0

¿Has probado a confirmar config.js para ver si realmente se ignora? Creo que si específicamente le dices a svn que agregue un archivo al control de la versión, se sobrepasará el ignorar.

+0

Intentar comprometerse no es la manera de averiguar por cierto, si se agrega, se confirmará. svn: ignorar es para evitar que se agregue. –

10

En UNIX y Linux, si usted dice

svn add * 

A continuación, la cáscara se ampliará a todos los archivos en el directorio y el programa va a ver el mismo que si se hubiera escrito

svn add file-a.txt file-b.txt file-c.txt 

etc. Esto significa que el comando de Subversion cree que ha enumerado explícitamente el archivo para agregar. En este caso, lo agregará, aunque se haya configurado la propiedad svn:ignore.

Desde el documentation of svn:ignore (el subrayado es mío):

Subversion usa los patrones para determinar qué archivos no deben ser arrastrados por el sistema de control de versiones como parte de una mayor Además recursivo operación o importación.

+1

¿Cómo puedo hacer que svn agregue todos los archivos, creados recientemente, y los mantenga ignorados simultáneamente? – lyuba

+3

'svn add. --depth infinity' –

+1

Si agregué algunos archivos, que no se encuentran en., sino en, por ejemplo, scss/pages/_comparison.scss, el comando sugerido no los agrega. En su lugar, dice svn: warning: '.' ya está bajo control de versión – lyuba

1

Encontré que this question contiene una muy buena solución. Como la respuesta no es realmente responder a la pregunta, no creo que sea duplicada. En breve uso de la potencia de las herramientas de Unix (trabaja con cygwin en las ventanas):

svn status | grep '?' | sed 's/^.* /svn add /' | bash

8

Súper vieja pregunta, pero me encontré con este problema en este momento y la solución que encontré no está aquí. La respuesta de Adrian Smith está en el camino correcto. Supongo que los documentos y el propio SVN han visto muchas actualizaciones en 5 años. Aquí es lo que encontré en el SVN docs

Incluso si se establece svn:ignore, es posible que encuentre problemas si utiliza comodines shell en un comando. Los comodines de Shell se expanden en una lista explícita de objetivos antes de que Subversion opere en ellos, por lo que ejecutar svn SUBCOMMAND * es como ejecutar svn SUBCOMMAND file1 file2 file3 …. En el caso del comando svn add, esto tiene un efecto similar a pasar la opción --no-ignore. Entonces, en lugar de usar un comodín, use svn add --force . para hacer una programación masiva de elementos no versionados para sumar. El objetivo explícito garantizará que el directorio actual no pase desapercibido porque ya se encuentra bajo control de versión, y la opción --force hará que Subversion rastree ese directorio, agregando archivos no versionados mientras sigue respetando la propiedad svn:ignore y la variable de configuración de tiempo de ejecución global-ignores. Asegúrese de proporcionar también la opción --depth files en el comando svn add si no desea un rastreo totalmente recursivo para agregar cosas.

La versión corta es svn add --force . Esto funciona perfectamente para mí.

0

Use este comando en lugar de svn add --force *:

svn add --force ./ 

En este caso SVN sí analizar todos los archivos en el directorio y que considere los ficheros ignorados, pero cuando se utiliza *, que dice explícitamente SVN para agregar todos los archivos.

Cuestiones relacionadas