Como posso ignorar tudo em uma pasta no Mercurial
-
05-07-2019 - |
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
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