2012-12-13 10 views
5

Próbuję migrować z v2 do v3 gitolite. Stary sposób sprawdzania poprawności wiadomości po stronie serwera polegał na umieszczeniu sprawdzenia w specjalnym haku w myoppo.git/hooks/update.secondaryprzy użyciu gitolite VREFs dla haka aktualizacji

W v3 gitolite, zalecają, aby czek został umieszczony w VREF. Dokumentacja jest trochę zagmatwana i mam nadzieję na wyjaśnienia.

Dodałem następujące w /home/git/.gitolite.rc

LOCAL_CODE     => "$ENV{HOME}/.gitolite/our_hooks", 

W moim katalogu our_hooks, stworzyłem folder Vref i umieścić mój stary update.secondary skrypt tam. W moim pliku gitolite-admin/conf/gitolite.conf, dodałem następujące do repozytorium chcę skrypt do wykonania na:

repo myrepo 
    RW = @my_developers 
    - VREF/update.secondary = @my_developers 

Kiedy próbuję naciskać, dostaję informację, że Vref/aktualizacja nie można znaleźć sekundy. Jeśli zmienię na

repo myrepo 
    RW = @my_developers 
    - /home/git/.gitolite/our_hooks/VREF/update.secondary = @my_developers 

Nie otrzymuję żadnych skarg, ale haczyk w ogóle nie działa.

Czy brakuje mi łodzi, aby uzyskać dodatkowe sprawdzenie aktualizacji, aby uruchomić za pomocą gitolite?

Odpowiedz

4

Ta dokumentacja jest trochę zagmatwana, więc mam nadzieję, że pomoże to innym próbować uzyskać powiązaną aktualizację działającą z gitolite v3.

Wszystko, co zrobiłem powyżej, jest poprawne, brakujący element był moim uaktualnieniem. Wymagany był krótki skrypt.

W gitolite-admin/conf/gitolite.conf, konfiguracja powinna wyglądać następująco:

repo myrepo 
    RW = @my_developers 
    - VREF/update.secondary = @my_developers 

Wtedy nie jest katalogiem VREF w katalogu GL_BINDIR. Umieść plik wykonywalny update.secondary w tym katalogu.

GL_BINDIR jest katalog, który zawiera gitolite binarny został uruchomiony w celu uruchomienia: gitolite setup

+2

+1 dokumentacja gitolite jest nieprzenikniona ... –

+1

Dzięki. Użyłem dowiązania symbolicznego w katalogu VREF do update.secondary w hooks/common, który następnie wyszukuje i uruchamia update.secondary w każdym repo.Powinien być domyślną funkcją IMHO. –

+0

, ale jak mogę uruchomić indywidualny hak dla każdego projektu? jak mogę zarządzać nim z repozytorium gitolite-admin? z góry dziękuję –

0

dodać do „s answer (upvoted) OP nathasm, nie mam problemu z wykorzystaniem zmiennej LOCAL_CODE w moim pliku .gitolite.rc , jak wspomniano w sekcji "alternatywna lokalizacja" pod "customising gitolite".

Jednak nigdy nie udało mi się użyć zmiennej środowiskowej.

Innymi słowy, to nie będzie działać:

LOCAL_CODE     => "$ENV{HOME}/.gitolite/our_hooks", 

Ale to będzie:

LOCAL_CODE     => "/home/git/.gitolite/our_hooks", 

Korzystanie pełną ścieżkę oznacza, że ​​każdy VREF lub haki zadeklarowane w/home/git /. gitolite/our_hooks/VREF zostanie rozpoznane

repo myrepo 
    RW = @my_developers 
    - VREF/update.secondary = @my_developers 
Powiązane problemy