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.