2009-08-07 5 views
7

Dans mon scénario, je gère un référentiel git svn-synchronized sur un serveur. tous les développeurs de mon groupe utilisent ce référentiel pour obtenir leurs mises à jour.
je ne pouvais pas trouver un moyen de déclencher un "git svn fetch" automatique (ou toute autre commande) avant un développeur récupère les dernières modifications.
ma solution de contournement actuelle est d'avoir un travail cron qui se synchronise dans les changements liés svn toutes les 5 minutes. est-il possible d'avoir ce genre de pré-fetch crochet du tout?
mercifonctionnalité de pré-extraction du crochet dans git

Répondre

2

Il n'y a pas de crochet prédéfini qui vous permettra de faire exactement ce que vous voulez.

Si vos développeurs sont aller chercher sur ssh, vous pourriez être en mesure de créer un script wrapper pour git-upload-pack qui cache le vrai git-upload-pack et appelle git svn fetch sur le référentiel (tout en étant absolument sûr de squash toutes les sorties et les erreurs) avant execing réel git-upload-pack.

Cela peut être assez compliqué à configurer et à rendre robuste, cependant. Il vaudrait peut-être mieux que vos développeurs lancent manuellement un appel à git svn fetch sur le référentiel distant et les encouragent à utiliser un alias de récupération alternatif qui le fait en premier (et attend qu'il se termine!) Avant de procéder à la récupération réelle.

+0

merci charles, J'espérais différemment mais de toute façon cela ne présente pas un obstacle majeur. Notre stratégie consistant à faire des mises à jour continues semble fonctionner assez bien puisque ce serveur est utilisé uniquement pour les mises à jour et que personne ne l'utilise pour commettre sur le serveur svn. vous avez raison de dire que le scénario que vous décrivez a l'air moins sympathique à entretenir donc je pense que c'est bien comme ça en ce moment. – oliver

Questions connexes