Wtyczka git dla hudson działa dobrze. Jednak skrypt budujący musi aktualizować numer wersji w plikach w repozytorium, zatwierdzać i przekazywać do repozytorium.Przepytanie pętli nieskończonej Hudson dla zmian w repozytorium Git?
Gdy Hudson odpytuje, aby sprawdzić zmiany, przechodzi w nieskończoną pętlę, ponieważ widzi, że zatwierdzenie jako "zmiana" jest ponownie budowane, co powoduje zmianę, więc ponownie się buduje, następnie zatwierdza kolejną zmianę itp. .. Masz pomysł.
zatrzymałem go, prowadził „dziennik git” w każdym repozytorium i porównano najnowsze popełniają identyfikatory są dokładnie HEAD samo przy użyciu git ls-tree
Również Hudson prowadzi to polecenie, aby sprawdzić zmiany:
git pobieraniu + bibl/głowice/: bibl/piloty/pochodzenie/ git ls-tree HEAD
od samego Hudson pchnął popełnić z jego repozytorium do pracy, i widocznie wyniki ls-tree mecz, w jaki sposób to polecenie decyduje o tym, że nastąpiła zmiana?
Wygląda na to, że musi przechowywać wyniki ls-tree przed wykonaniem kompilacji i porównania z tym, które nie będzie miało ostatniego zatwierdzenia. Ah. Mogę spróbować wyłączyć zatwierdzenie, aby przetestować tę teorię.
W każdym razie, zamiast naprawić jakiś problem z wtyczki Git dla Hudson, co mogę zrobić, aby na końcu mojej kompilacji upewnić się, że repozytorium jest identyczne i że Hudson to zobaczy.
Jak to naprawić? Jakieś pomysły?
Wayne
Rzeczywiście. Kiedy zatwierdzenie jest skomentowane, więc skrypt przesuwa tylko do kilku repozytoriów, działa poprawnie. Oznacza to, że Hudson rozpoznaje zerowe zmiany i czeka na zmiany bez pętli. Jak zatrzymać nieskończoną pętlę. Wygląda na to, że plugin git dla Hudson zapisze stan repo po początkowym pobraniu dla kompilacji. Ale wygląda na to, że powinien ponownie zapisać stan repo po udanej kompilacji na wypadek, gdyby kompilacja popełniła błąd - lub przynajmniej dała to jako opcję. Jakieś ciało ma łatwiejszy, szybszy pomysł, aby rozwiązać ten problem? – Wayne
O, znalazłem widelec plugin git-hudson na github, gdzie ktoś inny zdaje się już dodawać obsługę tej sytuacji. Ściągam i buduję i spróbuję tego. Ponownie, jeśli ktoś ma lepsze rozwiązanie, proszę doradzić. Odpowiem, jeśli to rozwiązuje. – Wayne