Le plugin git pour hudson fonctionne bien. Toutefois, le script de génération doit mettre à jour un numéro de version dans les fichiers du référentiel, valider et repousser vers le référentiel. Lorsque Hudson interroge à côté de vérifier les modifications, il entre dans une boucle infinie car il voit que commettre comme un "changement" construit à nouveau, ce qui valide une modification, donc il construit à nouveau, puis il valide un autre changement, etc. .. Vous avez eu l'idée.Hudson interroge la boucle infinie pour les changements dans le dépôt Git?
je me suis arrêté il, a couru un « journal git » dans chaque dépôt et comparé les derniers commettent ids sont exactement les mêmes en utilisant git ls-tree HEAD
En outre, Hudson dirige cette commande pour vérifier les modifications:
git fetch + refs/heads/: refs/remotes/origine/ ls-tree git TETE
depuis Hudson lui-même poussé la commettras de son référentiel d'espace de travail, et apparemment les résultats correspondent ls-arbre, comment peut- cette commande détermine qu'il y a eu un changement?
Il semble qu'il doit stocker les résultats de ls-tree avant de faire la construction et de la comparer à celle qui n'aura pas la dernière validation. Ah. Je peux essayer de désactiver l'engagement pour tester cette théorie.
Quoi qu'il en soit, plutôt que de résoudre n'importe quel problème dans le plugin git pour Hudson, que puis-je faire pour m'assurer à la fin de ma construction que les repos sont identiques et que Hudson le verra.
Comment résoudre ce problème? Des idées?
Wayne
Effectivement. Lorsque le commit est commenté de sorte que le script ne pousse que vers quelques dépôts, cela fonctionne correctement. C'est-à-dire, Hudson reconnaît zéro changement et attend des changements sans bouclage. Alors, comment arrêter la boucle infinie. Il semble que le plugin git pour Hudson enregistre l'état repo après la récupération initiale pour la construction. Mais il semble qu'il devrait sauver l'état de repo après une construction réussie dans le cas où la construction a fait un engagement - ou au moins donner cela comme option. Tout le monde a une idée plus facile et plus rapide pour résoudre ce problème? – Wayne
Oh, j'ai trouvé une branche du git-hudson-plugin sur github où quelqu'un d'autre semble avoir déjà géré cette situation. Je télécharge et je construis et j'essaierai ça. Encore une fois si quelqu'un a une meilleure solution, s'il vous plaît aviser. Je posterai si cela résout. – Wayne