2010-09-21 4 views
2

Après avoir lu this question passé pour git, je voudrais demander s'il existe quelque chose comme ça, maisCrypter des fichiers ajoutés à des dépôts Mercurial on commit

  1. peut être effectuée par programme (liste de fichiers) sur chaque machine;
  2. fonctionne pour Mercurial.

La raison en est que je voudrais inclure dans mon dépôt public de fichiers de données certains fichiers de configuration qui stockent le mot de passe en clair. Je sais que je pourrais écrire un script enveloppant pour hg (1) mais j'aimerais savoir s'il existe des approches alternatives, juste par curiosité.

Merci.

Répondre

4

Vous pouvez utiliser une paire de crochets pre-commit et post-update pour crypter/décrypter si nécessaire. Voir pour plus de détails.

Cependant, il est important de noter que si vous stockez du texte crypté dans votre repo, vous ne pourrez pas créer de différences significatives - tout sera essentiellement comme un fichier binaire mais aussi peu compressible.

+1

* donc utilisez avec parcimonie, mais toujours une idée solide pour plus de sécurité. [lien vers le fil hackernews] (https://news.ycombinator.com/item?id=5178914). – egbutter

+0

Est-ce que cela inclut les noms de fichiers et de répertoires? La confidentialité est par ailleurs affectée par les noms de fichiers ... – bytecode77

2

Mercurial dispose d'un filter system qui vous permet de filtrer les fichiers lorsqu'ils sont lus dans le référentiel ou réécrits. Si vous avez un programme tel que l'agent SSH qui vous permet de faire du chiffrement et du décryptage non interactifs, cela peut être réalisable. Comme Ryan le fait remarquer, cela conduira nécessairement à un plus grand dépôt puisque chaque version cryptée de vos fichiers sera complètement différente de la version précédente. Mercurial détecte cela et stocke les versions non compressées (les fichiers cryptés ne peuvent pas être compressés de toute façon). Puisque vous utiliserez ceci pour les fichiers de points, vous pouvez ignorer la surcharge de l'espace, mais c'est quelque chose à prendre en compte si vous allez modifier les fichiers plus gros sous forme cryptée.

Veuillez poster un mail à Mercurial mailing list avec vos expériences afin que les autres utilisateurs puissent en profiter eux aussi.

+0

Merci Martin, je n'ai pas eu le temps de tester votre suggestion; Comme cette question décrit un vrai problème pour moi (et j'ai un agent SSH en cours d'exécution) soyez assuré que je rapporterai mon expérience, quand j'aurai le temps de bricoler avec mon dépôt. Merci encore. –

+0

Emanuele: merci, ça sonne bien! –

Questions connexes