version control - ¿Cómo puedo ignorar todo debajo de una carpeta en Mercurial?
version-control hgignore (6)
Alternativamente:
syntax: glob
bin/**
Estoy buscando una expresión para el archivo .hgignore, para ignorar todos los archivos debajo de una carpeta especificada.
Por ejemplo: me gustaría ignorar todos los archivos y carpetas debajo del contenedor
En realidad, cualquier consejo sobre cómo se forman las expresiones sería genial
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 directorios bin
debajo de su raíz, puede omitir ^. No es necesario especificar la sintaxis, regexp es el valor predeterminado.
Hice algunos experimentos y encontré 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, el hg status
aplicará los patrones contra foo / bar / file1.c y demás. Los anclajes se aplican a esta ruta.
Asi que:
- Glob aplica a elementos de ruta y está enraizado en partes de elementos
- foo coincide con cualquier carpeta (o archivo) llamada foo (no a "foobar" ni a "barfoo")
- * foo * coincide con cualquier carpeta o archivo con "foo" en el nombre
- foo / bar * coincide con todos los archivos en la carpeta "foo" comenzando por "bar"
- Regex distingue entre mayúsculas y minúsculas, no anclado
- Por supuesto, los caracteres especiales de la barra invertida regex como. (punto)
- / matches / path separator en Windows. / no coincide con este separador ...
- foo coincide con todos los archivos y carpetas con "foo" dentro
- foo / coincide solo con las carpetas que terminan con "foo"
- / foo / coincide con la carpeta "foo" en algún lugar de la ruta
- / foo / bar / coincide con la carpeta "barra" en la carpeta "foo" en algún lugar de la ruta
- ^ foo coincide con el archivo o carpeta comenzando por foo en la raíz del repositorio
- foo $ coincide con el archivo que termina con foo
Espero que esto ayude, encontré la página selenic.com/mercurial/hgignore.5.html un poco breve.
No importa, lo tengo
syntax: regexp
bin//*
las expresiones siguen la sintaxis estándar de la expresión regular de perl.
ignorar archivos .class
syntax: regexp
?/.class
sintaxis: 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.
Ver patrones de Hg