2016-06-29 2 views
2

기본 Gerrit 커밋 - msg 훅을 변경하여 Signed-by-by를 자동으로 추가하고 싶습니다. 그러나 Gerrit 서버에서 commit-msg 파일을 찾을 수 없습니다. gerrit.war 파일에 커밋 - 메시지가 래핑 된 것처럼 보입니다.기본 gerrit 커밋 변경 - msg

기본 Gerrit 커밋 - msg 훅을 변경할 수있는 방법이 있습니까?

+0

AFAIK. 그러나 또한 그것을 필요로 할 것입니다. [repo-discuss] (https://groups.google.com/forum/m/#!forum/repo-discuss) 목록에서 요청할 수 있습니까? – StephenKing

답변

0

아니요, 없습니다. $ GERRIT_SITE/hooks에서 사용할 패치 세트 작성 및 초안 게시 후크를 직접 개발해야합니다. 이러한 후크는 서명 된 오프 정보를 추가하기 위해 새로운 패치 세트 (커밋)를 만들어야 함을 기억해야합니다.

+0

Gerrit에 후크가 설치된다는 의미입니까? 그리고 사용자가 Gerrit에서 새로운 패치 세트를 누를 때 서명 된 by-by 메시지를 추가하기 위해 후크를 트리거합니까? –

+1

정확히, 사용자가 새로운 패치 세트를 Gerrit로 푸시하면 $ GERRIT_SITE/hooks 디렉토리에서 후크가 트리거됩니다. 패치 세트를 편집하고 서명 된 정보를 추가하고 새 패치 세트를 커밋하기 위해 후크를 개발해야합니다. 자세한 내용은 여기를 참조하십시오 : https://gerrit-review.googlesource.com/Documentation/config-hooks.html –

+0

언급하는 것을 잊어 버렸습니다 : 프로젝트 설정에서 "커밋 메시지에 사인 오프 필요"= TRUE를 설정할 수 있습니다. Gerrit에 푸시 된 모든 커밋에 Sign-off-by 정보가 필요합니다. 여기에서 자세한 정보보기 : https://gerrit-review.googlesource.com/Documentation/project-configuration.html#_require_signed_off_by –

0

당신은이 위치에 commit-msg 찾을 수 있습니다

gerrit.war 
    WEB-INF/lib/gerrit-server-server.jar 
     com/google/gerrit/server/tools/root/hooks/commit-msg 

gerrit.warWEB-INF/lib/gerrit-server-server.jar 그래서 당신이 그것을 압축 해제해야하며, 변경 후 다시 재 포장, 보관을

커밋 자신을 얻을하는 데 도움이 될 수있는 또 다른 방법이있다
2

Gerrit의 기본값 대신 -msg 후크. 아이디어는 다른 버전의 후크를 제공하고 Gerrit에게 Shel 명령을 사용하여 해당 버전을 가져 오도록 요청하는 것입니다.

작성 방법은 다음과 같습니다.

  1. Nginx 또는 Apache로 파일 서버를 설정하고 자신의 commit-msg 훅을 해당 서버에 설치하십시오. 이렇게하면 예를 들어 당신의 commit-msg 후크
  2. 다시 시작 리트 서버

를 다운로드 할 수있는 쉘 명령을 리트의 구성 파일 gerrit.configgerrit.installCommitMsgHookCommand 이름이 commit-msg 후크

  • 구성 항목의 URL을 얻을 것 내 리트 서버에서 gerrit.installCommitMsgHookCommand의 값은 다음과 같습니다
    gitdir=$(git rev-parse --git-dir); wget -qO ${gitdir}/hooks/commit-msg http://myservername/hooks/commit-msg; chmod a+x ${gitdir}/hooks/commit-msg

    나는 내 리트 서버에 커밋 누르면


    원격 : 처리 변경 : 심판 : 커밋 메시지 변경-ID 라인없이, 나는 다음과 같은 메시지를 얻을 것이다 일, 1
    원격 오류 : 실종 변경 - 이드의 메시지 바닥 글
    원격 커밋 :
    remote : 힌트 : Change-Id를 자동으로 삽입하려면 후크를 설치하십시오.
    remote : gitdir = $ (git rev-parse --git-dir); wget -qO $ {gitdir}/hooks/commit-msg http://myservername/hooks/commit-msg; chmod를 A를 + X $ {gitdir}/후크/커밋 MSG
    원격 : 그리고 개정 커밋 :
    원격 : 자식은 리트 문서 항목 gerrit.installCommitMsgHookCommand의 설명을 읽어

    을 --amend 커밋 , 당신은 그것이 어떻게 명확하게 작동하는지 볼 수 있습니다.