2011-03-18 5 views
2

Gerrit Code 리뷰를 사용하고 있습니다.Gerrit hook API

나는 그것에 문제가있다. 일부 후크는 그들 중 하나이며, 리트와 있습니다 : 당신이 리트 몇 가지 변화를 누르시면

patchset-created --change <change id> --change-url <change url> 
--project <project name> --branch <branch> --uploader <uploader> 
--commit <sha1> --patchset <patchset id> 

리트 그것을 호출합니다.

전달 된 commit 매개 변수는 sha1 확약 번호이지만, 필요한 것은 확약 로그입니다. 예를 들어, 내가 git commit -m "id:110" 일 경우, id:110을 얻고 싶습니다.

어떻게받을 수 있습니까? 사용할 수있는 API가 있습니까?

+1

좋습니다. 그러나 프로젝트를 구독하고 알림을받는 것이 좋습니다. – yuwang

답변

0

나는 문제를 직접 해결했습니다. 그 gerrit에는 그러한 api가없는 것 같습니다. 그러나 patchset-created hook이 호출되면 전달 된 change 매개 변수는 유용합니다. gerrit 데이터베이스 테이블의 개인 키를 참조하는 경우 Change, 모든 git push를 gerrit로 변경하여 변경 테이블에 변경 내용을 기록하고 include 커밋 메시지이므로 변경 매개 변수를 사용하여 테이블을 쿼리 할 수 ​​있으므로 후크에서 커밋 메시지를받습니다!

6

git log 또는 git show를 사용하여 올바른 저장소에서 실행할 수 있습니다. 당신의 훅은 --repository를 통해 repo를 통과 할 것입니다. 후크는 유용한 작업 디렉토리에서 호출됩니다. (필자는 지난 주에 체크했는데, 후크를 실행하기 전에 CD가 레포에 있다고 생각합니까?)

git log $SHA1 또는 git show $SHA1 원하는 정보에 따라 달라집니다.

그렇다면 더 나은 솔루션을 원합니다. 정보에 diff/patchset을 추가하려고하는데 gerrit 훅을 통해 사용할 수 없습니다.