Pergunta

Eu estou procurando uma expressão para o arquivo hgignore, ignorar todos os arquivos debaixo de uma pasta especificada.

por exemplo: eu gostaria de ignorar todos os arquivos e pastas abaixo bin

Na verdade algum conselho sobre como as expressões são formadas seria ótimo

Foi útil?

Solução

Como alternativa:

syntax: glob
bin/**

Outras dicas

Eu fiz algumas experiências e eu achei que a sintaxe regex no Windows aplica-se ao caminho que começa com o repositório atual, com barras invertidas transformados em barras.

Então, se o seu repositório está em E: \ Dev por exemplo, hg status aplicará os padrões contra foo / bar / file1.c e tal. Âncoras se aplicam a este caminho.

Assim:

  • Glob aplica-se a elementos de caminho e está enraizada a partes do elemento
  • foo corresponde a qualquer pasta (ou arquivo) chamado foo (não "foobar", nem "barfoo")
  • * foo * corresponde a qualquer pasta ou arquivo com "foo" no nome
  • foo / bar * corresponde a todos os arquivos em "foo" pasta começando com "bar"


  • Regex é sensível a maiúsculas, não ancorada
  • Claro, barra invertida regex caracteres especiais como. (Ponto)
  • / partidas \ separador de caminho no Windows. \ Não coincide com este separador ...
  • foo corresponde a todos os arquivos e pastas com "foo" dentro
  • foo / partidas apenas as pastas que terminam com "foo"
  • / foo / corresponde a pasta em algum lugar "foo" no caminho
  • / foo / bar / corresponde a pasta "bar" na pasta em algum lugar "foo" no caminho
  • ^ foo corresponde arquivo ou pasta começando por foo na raiz do repositório
  • foo $ corresponde arquivo terminando com foo

Espero que isso vai ajudar, eu encontrei o HGIGNORE (5) na página um pouco sucinta.

Ambos os também irá filtrar um diretório chamado cabin, que pode não ser o que quiser. Se você está filtrando de nível superior, você pode usar:

^/bin/

Para diretórios bin abaixo de sua raiz, você pode omitir o ^. Não há necessidade de especificar a sintaxe, regexp é o padrão.

Não importa, eu entendi

syntax: regexp
bin\\*

expressões siga perl sintaxe de expressão regular padrão.

sintaxe: glob bin / **

Esta resposta é mostrada acima, no entanto Eu também gostaria de acrescentar que * e ** são tratados de forma diferente. ** é recursiva, * não é.

Patterns Veja Hg

para ignorar arquivos .class

syntax: regexp
?\.class
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top