Existe uma opção ignorar-on-commit em mercurial?

votos
38

Existe alguma maneira de ignorar alterações a alguns arquivos em um commit com mercurial?

Eu tenho uma situação específica em que temos um arquivo tnsnames.ora do Oracle padrão que aponta para 127.0.0.1, mas alguns desenvolvedores irá modificá-lo para apontar para outros sistemas, mas nós não queremos mudar o arquivo padrão.

No Subversion, eu simples adicionou isto à lista de alterações ignorá-on-commit. Existe uma maneira de fazer isso em mercurial?

Publicado 19/05/2009 em 20:18
fonte usuário
Em outras línguas...                            


4 respostas

votos
48

Se os arquivos que você quer omitir a partir do comando "hg commit" já estão "rastreado", você deve usar a opção -X. O padrão passado para -X é bastante flexível, tornando possível executar, por exemplo:

% hg stat
A etc/foo.conf
M src/bar.c
M lib/libbar/loader.c
% hg commit -X '**.conf'

para evitar cometer qualquer arquivo com a extensão ".conf", independentemente de quão profundo na árvore de origem vive. No espaço de trabalho mostrado acima deste cometeria "src / bar.c" e "lib / libbar / loader.c" mas não "etc / foo.conf".

Para excluir vários padrões de nomes de arquivos, usar múltiplas opções -X, ou seja:

% hg commit -X '**.conf' -X '**.sh'
Respondeu 22/05/2009 em 02:16
fonte usuário

votos
21

Tradicionalmente, este é resolvido por não versionamento o arquivo em si, mas por versionamento uma cópia do mesmo como um modelo para outros usarem.

Então você teria hg mv tnsnames.ora tnsnames.ora-template, em seguida, cometeu, em seguida, fazer uma cópia do sistema de arquivos direto de tnsnames.ora-modelo para tnsnames.ora, e adicionar tnsnames.ora para o arquivo hgignore.

As alterações subsequentes ao modelo ainda vai ter empurrado para fora, mas eles não vão realmente mudar o ambiente de trabalho, a menos que alguém copia o modelo para o arquivo real.

Respondeu 21/05/2009 em 04:18
fonte usuário

votos
1

Você poderia apelido comprometer com algo como 'hg cometer -X excluded_file.ext' Eu nunca usei mercurial, por isso estou indo só pela página homem aqui.

Respondeu 19/05/2009 em 20:29
fonte usuário

votos
-2

Procure hgignore arquivo na documentação do Mercurial.

Aqui está um exemplo ignorar arquivo.

       # use glob syntax.
       syntax: glob

       *.elc
       *.pyc
       *~

       # switch to regexp syntax.
       syntax: regexp
       ^\.pc/
Respondeu 19/05/2009 em 20:21
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more