3 votes

Comment gérer les fichiers qui n'ont pas besoin de contrôle de version dans mercurial ?

Je suis nouveau dans mercurial, et je réalise la plupart du temps des rapports LaTeX et des calculs statistiques dans R en utilisant des fichiers .csv et/ou .sqlite. En ce qui concerne LaTeX, tout ce qui m'intéresse vraiment, c'est le fichier .tex. Pour R, je n'ai pas besoin de contrôle de version sur les fichiers .csv ou .sqlite car ils sont statiques.

Lorsque je fais 'hg add' pour un repo avec un fichier .csv et/ou .sqlite, j'obtiens un avertissement du genre :

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

Je reviens donc en arrière et utilise ensuite des ajouts comme hg add -X *.sqlite . Je crois que j'ai vraiment deux questions :

(1) Dois-je ignorer ces avertissements ? Comme ces gros fichiers sont statiques, puis-je simplement les ajouter au dépôt en sachant que les fichiers diff seront toujours vides et ne pas m'inquiéter du gaspillage de ressources ?

(2) Si je dois continuer à exclure ces fichiers du repo, y a-t-il un moyen de corriger cette option ? Par exemple, ajouter à mon fichier .hgrc quelque chose qui ajoute toujours une option du genre -I *.tex -I *.R à mes commandes "hg add" ?

Merci !

6voto

itpres Points 157

Dans ~/.hgrc :

[ui]
ignore = ~/.hgignore

dans ~/.hgignore :

syntax: glob
*.tex
*.R

(Vous pouvez également placer un fichier .hgignore dans chaque projet ; ce qui précède le fera globalement. Vous pouvez appeler le fichier .hgignore référencé dans .hgrc comme vous le souhaitez ; au sein d'un projet, il doit toujours être appelé .hgignore.)

3voto

aaron Points 1

Vous pouvez créer un fichier .hgignore pour toujours ignorer certains fichiers, voir cette question de l'OS . Vous pouvez consulter la documentation sur le Page wiki Mercurial pour .hgignore ou le page de manuel pour plus d'informations.

Vous pourriez vouloir un .hgignore comme celui-ci pour ignorer tout .sqlite ou .csv fichier :

\.sqlite$
\.csv

1voto

Benoit Meister Points 11

Si vous ne voulez pas avoir à copier vos gros fichiers sqlite à la main sur toutes les instances de votre repo, vous pouvez utiliser l'option Extension Hg largefiles .

Il enregistrera le fichier indépendamment et effectuera un contrôle de version très rudimentaire (mais efficace en termes de ressources), basé sur des comparaisons de sommes de contrôle. Autres extensions non supportées par Hg BigFiles et Snap sont également disponibles.

BigFiles nécessite de spécifier à la main un repo alternatif pour les gros fichiers, et Snap n'est disponible que pour certaines versions de hg. Ceci est vrai pour largefiles, qui n'est disponible qu'à partir de la version 2.0 de hg. Si vous utilisez plusieurs versions différentes, il se peut que vous deviez utiliser l'option Bfiles extension

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X