Como lidar com arquivos que não precisam de controle de versão no mercurial

3

Sou novo no mercurial e, na maior parte, faço relatórios LaTeX e cálculos estatísticos em R usando arquivos .csv e / ou .sqlite. Re LaTeX, tudo que eu realmente me importo é o arquivo .tex. Re R, não preciso de controle de versão nos arquivos .csv ou .sqlite porque eles são estáticos.

Quando faço 'hg add' para um repo com um arquivo .csv e / ou .sqlite, recebo um aviso como:

rev2.sqlite: up to 3070 MB of RAM may be required to manage this file
(use 'hg revert rev2.sqlite' to cancel pending addition)

Então eu reverti e subseqüentemente uso adiciona como hg add -X *.sqlite . Eu acho que tenho duas perguntas:

(1) Devo ignorar esses avisos? Como esses arquivos grandes são estáticos, posso adicionar ao repositório sabendo que os arquivos diff estarão sempre vazios e não se preocuparão com recursos desperdiçados?

(2) Se eu deveria continuar excluindo esses arquivos do repo, há algum problema que eu possa consertar essa opção? I.E., adiciona ao meu arquivo .hgrc algo que sempre acrescenta uma opção como -I *.tex -I *.R aos meus comandos 'hg add'?

Obrigado!

    
por Richard Herron 10.01.2011 / 15:42

3 respostas

6

em ~ / .hgrc:

[ui]
ignore = ~/.hgignore

em ~ / .hgignore:

syntax: glob
*.tex
*.R

(Você também pode colocar um arquivo .hgignore em cada projeto; o acima fará globalmente. Você pode chamar o .hgignorefile referenciado em .hgrc o que quiser; dentro de um projeto ele deve sempre ser chamado .hgignore)

    
por 10.01.2011 / 16:23
3

Você pode criar um arquivo .hgignore para sempre ignorar alguns arquivos, consulte esta pergunta SO . Você pode ler a documentação na página wiki do Mercurial para .hgignore ou o página man para mais informações.

Você pode querer que um .hgignore ignore o arquivo .sqlite ou .csv :

\.sqlite$
\.csv
    
por 10.01.2011 / 16:20
1

Se você não quer ter que copiar seus grandes arquivos sqlite manualmente para todas as instâncias do seu repo, você pode querer usar o extensão largefiles Hg .

Ele salvará o arquivo de forma independente e executará um controle de versão muito bruto (mas eficiente em termos de recursos), com base em comparações de soma de verificação. Outras extensões não suportadas por Hg BigFiles e Snap também estão disponíveis.

O BigFiles exige que você especifique manualmente um repositório alternativo para arquivos grandes, e o Snap está disponível apenas para algumas versões do hg. Isso vale para arquivos grandes, que só está disponível na versão 2.0 e posterior. Se você estiver usando várias versões diferentes, talvez seja necessário usar a extensão Bfiles

    
por 05.07.2012 / 22:12