¿Cómo creo una lista de ignorar varios elementos en SVN?
-
27-09-2019 - |
Pregunta
Estoy creando una lista de ignore en una máquina de Windows usando la siguiente línea de comando:
svn propset svn:ignore "bin" Fardis.Test
La estructura del árbol del directorio es:
\src\
\src\Fardis.Test\
\src\Fardis.Test\bin\
\src\Fardis.Test\obj\
Estoy ejecutando ese comando mientras mi directorio actual es \src
. Esto funciona bien, pero quiero agregar otra carpeta, \src\Fardis.Test\obj\
a la lista Ignorar, pero falla. Intenté lo siguiente:
svn propset svn:ignore "bin obj" Fardis.Test
svn propset svn:ignore "bin, obj" Fardis.Test
svn propset svn:ignore "bin; obj" Fardis.Test
Después de emitir cuál de ellos, svn status
muestra que ninguna de las carpetas bin u obj se agregan a la lista Ignore.
¿Como puedo resolver esto?
Solución
Usar svn propedit
en vez de svn propset
, y coloque cada patrón en una línea separada en la ventana del editor.
También eche un vistazo a ajuste global-ignores
En tu configuración Para archivos y directorios que deben ignorarse en ningún copia de trabajo. Por lo general, esa es una mejor manera de excluir la depuración y la producción binaria de los directorios que contienen muchos proyectos.
Otros consejos
Por lo general, creo un archivo .svnignore. Ver SVN: ignorarEntonces hazlo:
$ svn propset svn:ignore -F .svnignore .
property 'svn:ignore' set on '.'
.svnignore:
*.pyc
*~
EDITAR: Agrego el .svnignore al repositorio también para realizar un seguimiento de él.
Método
Hay una manera flexible sin usar global-ignores
.
Por ejemplo, puede crear dos archivos: .svn-ignore
y .svn-ignore-recur
.
.svn-ignorore-recur
.idea
*.pyc
*.aux
*.out
*.ilg
*.toc
64bit-Debug
.svn-ignorore
.idea
*.pyc
*.aux
*.out
*.ilg
*.toc
64bit-Debug
# below is difference
base
ta.txt
ta.html
Entonces debe llamar a dos comandos (la secuencia es importante).
svn propset svn:ignore -F .svn-ignore-recur . --recursive
svn propset svn:ignore -F .svn-ignore .
Por lo tanto, obtiene el camino para ignorar algunos archivos de manera recursiva, y algunos otros archivos en la raíz de su repositorio.
Para simplificar un problema, es razonablemente crear .sh
o y .bat
Archivos:
! svn-siñor.bat
svn propset svn:ignore -F .svn-ignore-recur . --recursive
svn propset svn:ignore -F .svn-ignore .
! svn-siñor.sh
#!/bin/sh
sh ./!svn-ignor.bat
Por supuesto que debe agregar el archivo:
svn add .svn-ignore* !svn-ignor.*
Adicional
Está claro que Cat crea archivo como .svn-ignore-some-subdir
*.dvi
*.cot
seven_doo
y llama
svn propset svn:ignore -F .svn-ignore-some-subdir ./sub/sub1/sub2