2017-01-23 4 views
3

그래서 내가하려는 일은 : 예를 들어 (https://gerrit-server/#/c/7456/) URL을 gerrit에 나타나는 커밋 메시지에 추가하십시오.패치 세트 생성 후 gerrit에 커밋 메시지 수정?

지금까지 시도한 내용은 변경을 수행 할 때 gerrit_site/hooks/ 아래에 patchset-created이라는 파일을 만듭니다.

문제는 내가 커밋 메시지 파일을 찾을 수 없어 콘텐츠를 수정할 수 있다는 것입니다.

내가 커밋 메시지에 URL을 삽입하려고 했으므로 로컬 git 저장소에서 후크를 사용하여이 작업을 수행 할 수 없다는 이유는 URL이 연결될 URL을 알 수 없기 때문입니다. gerrit, 그래서 나는 그것이 gerrit쪽에 후크를 사용함으로써 끝날지도 모른다라고 생각했다.

피드백을 주시면 감사하겠습니다.

답변

0

이렇게하려면 프로젝트 제출 유형을 cherry pick으로 변경하고 gerrit 용 플러그인 reviewnotes을 설치하십시오.

이렇게하면 Review-Id, Review-On (URL), Reviewed-by 및 Tested-by 레이블을 추가하여 코드 검토 + 2 및 확인 + 1 후 커밋 메시지를 자동으로 수정합니다.

후크를 사용할 필요가 없습니다.

0

커밋 메시지 파일이 없습니다. 실제로 "--commit"patchset-created 매개 변수를 사용하여 원래 커밋을 수정해야 새로운 커밋 메시지로 새 커밋 (패치 세트 2)을 만들 수 있습니다.

내 의견으로는 서버에서 모든 밀어 넣은 커밋을 자동으로 수정하는 것은 좋지 않습니다. 이 절차는 각 변경에 대해 두 개의 패치 세트를 만듭니다 (1. 원래 변경 2. 새 커밋 메시지의 변경). 이렇게하면 사용자가 변경 사항을 수정해야 할 때 특별히 혼동을 줄 수 있습니다.

내가 직접 해명했는지 확실하지 않습니다 ... 제발 알려주세요.

왜 커밋 메시지에 https://GERRIT-SERVER/#/c/xxxxx 링크가 있어야합니까? Gerrit 검색 필드에 커밋 -id 또는 change-id를 추가하는 것만으로 변경 사항을 찾는 것이 매우 쉽습니다 ...

+0

내 자신이 왜 커밋 메시지에서 URL을 원하지만 st. 나는해야만합니다. 나는 의견을 짧게 유지하기 위해 게시물을 편집했습니다. – Ezwig

+0

첫째로, "의견"을 질문 영역 ... 사람들은 텍스트의 컨텍스트를 이해하지 못합니다. 정확한 장소는 여기에 있습니다. 귀하의 질문에 대답 : 네, 당신은 새로운 커밋/패치 세트를 생성하지 않고 커밋 메시지를 변경할 수 없습니다 당신은 두 개의 커밋/패치 세트 (혼란)로 끝낼 수 있도록 원래 하나를 제거 할 수 없습니다. change-id 훅은 커밋이 생성되기 전에 로컬로 실행됩니다. –

3

gerrit UI에서 직접 커밋 메시지를 수정할 수 있습니다. gerrit에 커밋 메시지를 열고 위의 패치 세트 옆에있는 편집 버튼을 클릭하기 만하면됩니다. 변경 한 후 저장하십시오. 그 후에 커밋 페이지의 소유자 섹션 바로 위에 나타나는 새 커밋 메시지를 제출해야합니다.

+1

사실 저는 이것을 자동화하는 스크립트를 작성하고 싶습니다. – Ezwig

+0

Gerrit UI를 통해 커밋을 업데이트 한 후에는 해당 로컬 브랜치에 변경 사항을 적용하려면 어떻게해야합니까? ('git pull'은 로컬 브랜치가'master '를 추적 할 때 작동하지 않고'git publish'를 사용하여 Gerrit에게 커밋을 푸시합니다.) –

+0

@SaketMehta,'git review -d ' 나는 믿는다. @caneru, '새로운 UI'에만 적용됩니다. – kcpr