2010-09-02 23 views
1

J'ai du mal à obtenir un hook à lancer soit sur le clone initial (cela ne semble pas possible puisque les hooks ne sont pas clonés de toute façon) ou sur un simple pull. J'utilise git pour gérer un certain nombre de fichiers de configuration, et j'ai besoin de maintenir la propriété et les perms de fichiers appropriés. Dans mon dépôt principal, j'ai des hooks de commit configurés pour appeler le script "setgitperms.pl", et cela fonctionne bien pour obtenir les fichiers dans le repo et garder une trace des perms. Le fichier .gitmeta est extrait sur le clone initial que je cours sur une nouvelle boîte.Comment exécuter un hook git lorsque j'appuie sur des modifications ou sur le clone initial?

Mon problème est que je ne peux trouver aucune action git à exécuter après le clone qui déclenchera n'importe quel hook. Idéalement, je voudrais une sorte de no-op que je pourrais courir pour appeler un crochet. Par exemple, si je pouvais dire à quelqu'un d'exécuter une séquence de commandes comme celle-ci pour vérifier la mise en pension et se retrouver avec une copie de travail qui a le droit perms, je serais heureux:

git clone [email protected]:/var/gitrepo/conf/base.conf 
cd base 
tar xvzpf hooks.tgz (hooks tarball is in the repo) 
git ???? - something that magically calls a hook with setgitperms 

J'ai totalement couru en rond sur celui-ci. Des idées? Pourquoi doit-il être appelé via un hook?

+0

Il semble que vous souhaitiez utiliser un filtre anti-maculage. – Cascabel

Répondre

0

Pourquoi? Pouvez-vous juste appeler setgitperms.pl directement après avoir fait le clone?

+0

Je préférerais que ce soit automatique. Je ne savais pas trop où écrire - Git est plus pour les programmeurs, mais j'essaye de le pousser dans la gestion des config pour/etc et/usr/local/etc, qui nécessitent une vérification stricte des permissions. – sporker

+0

Je pense que ce que j'essaie de faire n'est pas vraiment approprié pour Git. J'ai plutôt décidé de mordre la balle et commencer à tester cfengine dans quelques machines virtuelles pour voir comment cela fonctionne. – sporker