2012-12-13 1 views
5

gitolite의 v2에서 v3으로 마이그레이션하려고합니다. 이전에 서버 측 커밋 메시지를 확인하는 방법은 수표를 myrepo.git/hooks/update.secondary의 repo 특정 후크에 넣는 것이 었습니다.업데이트 후크에 gitolite VREF 사용

gitolite의 v3에서 그들은 체크를 VREF. 문서가 약간 혼란스러워서 명확히하기를 바라고 있습니다.

나는 내 our_hooks 디렉토리에서

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

/home/git/.gitolite.rc

에 다음을 추가 한, 나는 VREF 폴더를 생성하고 거기에 내 옛날 update.secondary 스크립트를 넣어. 내 gitolite-관리/conf의/gitolite.conf 파일에서, 나는에 내가 스크립트가 실행하려는 저장소에 다음을 추가 :

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

내가 밀어하려고 할 때, 나는 통지를받을 것을 VREF/업데이트 . 보조를 찾을 수 없습니다. 변경된 경우

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

나는 불만을 느끼지 않지만 전혀 작동하지 않는 것으로 나타났습니다.

gitolite를 사용하여 추가 업데이트 확인을받는 방법에 대한 보트가 누락 되었습니까?

답변

4

이 문서는 약간 혼란 스럽기 때문에 다른 사람들이 gitolite v3에서 작동하는 체인 된 업데이트 훅을 얻는 데 도움이되기를 바랍니다.

위의 모든 작업이 정확합니다. 누락 된 부분은 내 update.secondary 스크립트가 있어야했습니다.

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

그런 다음 GL_BINDIR 디렉토리에 VREF 디렉토리가 : 같은 gitolite-관리/conf의/gitolite.conf에서

는 구성이 보일 것입니다. 실행 가능한 update.secondary 파일을 해당 디렉토리에 두십시오.

GL_BINDIR 당신이 실행하기 위해 실행 한 gitolite 바이너리가 들어있는 디렉토리입니다 : gitolite setup

+2

1 ... –

+1

감사 인식됩니다. VREFs 디렉토리에있는 symlink를 hooks/common의 update.secondary에 사용했습니다. 그런 다음 각 repo에서 update.secondary를 검색하고 실행합니다.기본 기능 IMHO 여야합니다. –

+0

하지만 각 프로젝트마다 개별 후크를 어떻게 실행할 수 있습니까? gitolite-admin 저장소에서 어떻게 관리 할 수 ​​있습니까? 미리 감사드립니다. –

0

이 (upvoted) OP nathasmanswer에 추가하려면를, 내 .gitolite.rc 파일에 LOCAL_CODE 변수를 사용하여 아무런 문제가 없다 "대체 위치"섹션 "customising gitolite"에서 언급했듯이

그러나 환경 변수는 사용하지 못했습니다.

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

을하지만이 것 :

즉,이 작동하지 않습니다 전체 경로를 사용

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

는 VREF 또는 후크/홈/자식 /에 선언 된 것을 의미한다. gitolite/our_hooks/VREF는 gitolite 설명서를 꿰 뚫을

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