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

¿Fue útil?

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.

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.

Consulte Hg Patterns

para ignorar los archivos .class

syntax: regexp
?\.class
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top