tortoise recursive ignores ignorar how files desvincular carpeta svn svnignore

recursive - tortoise svn global ignores



SVN ignora como.gitignore (2)

Puedes usar svn:ignore . Generalmente necesita decirle a SVN que aplique propiedades especiales a los archivos:

svn propset svn:ignore "*.jpg" .

(Tenga en cuenta el punto al final del comando).

Para múltiples archivos, puede agregar un carácter de nueva línea.

Escriba exactamente como aquí con saltos de línea:

svn propset svn:ignore "file1 file2 file3" dir1

Verifique que los archivos sean ignorados:

svn status --no-ignore

Luego confirma el código.

Y sí, muchas preguntas duplicadas ya están disponibles.

Puedes referir mi svn cheatguide favorito.

Puede crear un archivo, svn-ignore.txt , con sus archivos y directorios ignorados:

*.class *.jar *.war *.ear target/ .classpath .settings/ .project .metadata bin/

Ahora prueba lo siguiente:

svn propset svn:ignore -RF /root/svn-ignore.txt . [dot for current dir]

-R es recursivo.

En Git , si tengo un proyecto con muchos proyectos dentro, supongo, muchos proyectos Java, puedo simplemente crear un archivo .gitignore en la raíz y será "respetado" en todo el repositorio.

¿Cómo puedo hacer esto para un proyecto SVN?

Por ejemplo, ¿cómo puedo hacer una configuración de "svn ignore" (a través de la línea de cmd) para un .gitignore como el siguiente?

*.class *.jar *.war *.ear target/ .classpath .settings/ .project .metadata bin/

La parte más importante de la pregunta: ¿Cómo puedo hacer que funcione en nuevas carpetas dentro de la raíz? Ejemplo:

svn propset svn:ignore "*.class" . -R svn propset svn:ignore "*.class" . -R en mi raíz y compromiso. De acuerdo:

root - folder1/ -- *.class (ignored) -- other files (ok) - folder2/ -- *.class (ignored) -- other files (ok)

Ahora, creo la carpeta 3. La configuración anterior de svn:ignore no se aplicará, ¿verdad? ¿Hay alguna manera de hacerlo?


Resolví este problema de una manera ligeramente diferente. Esto solo funcionará si está utilizando un shell Bash y tiene Perl instalado, pero eso es prácticamente cualquier máquina Mac y Linux.

Agregue lo siguiente a sus archivos .bashrc y .bash_profile :

alias _ss="svn status | egrep -v ''`cat .svnignore|perl -p -e ''s//n/|/''`''"

No olvide reiniciar su terminal o hacer:

source ~/.bashrc (or .bash_profile if that''s what you used)

Ahora crea un archivo llamado .svnignore , y ponlo en el directorio donde tu repositorio está desprotegido.

files/to/ignore another/file tmp node_modules

Ahora cuando corres

_ss

en el directorio raíz de su copia de trabajo, leerá el archivo .svnignore e ignorará cualquier cosa en él.

Copio la versión del archivo .svnignore de la misma forma que lo haría con la versión de un archivo .gitignore.

NOTA: Esto solo afecta al comando svn status , y no le impedirá agregar / confirmar archivos ignorados.