2010-11-06 26 views
3

Je voudrais restreindre l'accès en écriture pour la branche maître à seulement plusieurs développeurs, tout en permettant aux autres de tout extraire et de pousser vers d'autres branches non-maîtres. L'idée est qu'un développeur pousserait vers une autre branche et que si le code passe en revue, le réviseur le fusionnerait dans la branche principale. Je suis assez sûr que cela peut être facilement fait avec un commit commit git, mais je ne connais pas python et cela semble être un problème si générique, que quelqu'un doit l'avoir déjà écrit. Savez-vous où je pourrais trouver un tel script? Ou si vous en avez un qui traîne, s'il vous plaît le coller ici, pour les gens paresseux comme moi.Comment écrire un crochet git pour restreindre l'écriture à la branche?

Répondre

4

Je pense qu'il pourrait être possible d'utiliser un tel script mais ce n'est pas le bon endroit pour la gestion des droits, il devrait plutôt être fait du côté serveur git. Par exemple, dans gitosis, vous faites cette configuration dans le dépôt gitosis-admin dans le fichier gitosis.conf.

La sécurité gérée par un crochet peut être facilement brisée, seul le serveur peut garder une trace de ce genre de choses, veuillez consulter la documentation de votre serveur pour plus de détails sur la façon de restreindre l'accès.

+0

Correct. Un hook de pré-commit ne sert à rien - le dépôt de chaque développeur est le leur. Vous ne pouvez pas leur faire faire ce qu'ils ne veulent pas. Le serveur central peut cependant être à votre disposition pour appliquer la stratégie. Et oui, le logiciel de gestion de serveur git (gitose, gitolite) peut le faire pour vous. – Cascabel

+0

Bien sûr, je voulais dire "commit hook" sur le serveur du référentiel central, pas sur les machines locales. Mais la gitolite semble être ce que je cherchais, alors merci. Pour les futurs visiteurs: http://progit.org/book/ch4-8.html –