¿Cómo puedo ignorar todo bajo una carpeta en Mercurial?
-
05-07-2019 - |
Pregunta
Estoy buscando una expresión para el archivo .hgignore, para ignorar todos los archivos debajo de una carpeta específica.
por ejemplo: me gustaría ignorar todos los archivos y carpetas debajo de bin
En realidad, cualquier consejo sobre cómo se forman las expresiones sería genial
Solución
Alternativamente:
syntax: glob
bin/**
Otros consejos
Hice algunos experimentos y descubrí que la sintaxis de expresiones regulares en Windows se aplica a la ruta que comienza con el repositorio actual, con barras invertidas transformadas en barras diagonales.
Entonces, si su repositorio está en E: \ Dev, por ejemplo, hg status
aplicará los patrones contra foo / bar / file1.c y similares. Los anclajes se aplican a este camino.
Entonces:
- Glob se aplica a los elementos de la ruta y está arraigado a las partes del elemento
- foo coincide con cualquier carpeta (o archivo) llamada foo (no para " foobar " ni " barfoo ")
- * foo * coincide con cualquier carpeta o archivo con " foo " en el nombre
- foo / bar * coincide con todos los archivos en " foo " carpeta que comienza con " barra "
- Regex distingue entre mayúsculas y minúsculas, no está anclado
- Por supuesto, la barra invertida regex caracteres especiales como. (punto)
- / coincide con \ separador de ruta en Windows. \ no coincide con este separador ...
- foo hace coincidir todos los archivos y carpetas con " foo " adentro
- foo / coincide solo con las carpetas que terminan con " foo "
- / foo / coincide con la carpeta " foo " en algún lugar del camino
- / foo / bar / coincide con la carpeta " barra " en la carpeta " foo " en algún lugar del camino
- ^ foo coincide con el archivo o la carpeta que comienza por foo en la raíz del repositorio
- foo $ coincide con el archivo que termina con foo
Espero que esto ayude, encontré el HGIGNORE (5) página un poco sucinta.
Ambos también filtrarán un directorio llamado cabin
, que podría no ser lo que quieres. Si está filtrando el nivel superior, puede usar:
^/bin/
Para los directorios bin
debajo de su raíz, puede omitir el ^. No es necesario especificar la sintaxis, regexp es el valor predeterminado.
No importa, lo tengo
syntax: regexp
bin\\*
las expresiones siguen la sintaxis estándar de expresiones regulares de Perl.
: glob bin / **
Esta respuesta se muestra arriba, sin embargo, también me gustaría agregar que * y ** se manejan de manera diferente. ** es recursivo, * no lo es.
Consulte Hg Patterns
para ignorar los archivos .class
syntax: regexp
?\.class