我使用git作爲我的版本控制系統,並設置了一個Gerrit網站來執行代碼審查。我想創建一個鉤做到以下幾點:Gerrit變更合併Hook
- 當管理員點擊提交按鈕,文件(稱爲version.txt) 應該被修改。
- 腳本應該打開文件。
找到以下文本(其中ID可能會改變)
#version Change-Id: Ie1411d50f6beb885bc3d3b7d8c587635e1446c18
更換變化-ID與新補丁的變化-ID。
所以,如果要合併的補丁有
Change-Id: I1c25f7b967084008b69a6a8aefa6e3bb32967b82
那麼version.txt文件 應該包含以下字符串腳本運行後:#version Change-Id: I1c25f7b967084008b69a6a8aefa6e3bb32967b82
- 然後勾應創建一個新的提交(因爲現在已經有一個文件發生了變化)並且推動最後一次提交來掌握。
我覺得這將有可能使用更改合併掛鉤。我對嗎?
在此先感謝。
感謝您的答覆。我會試一試並回報。你能詳細說一下'install.sh'腳本嗎? – 2012-03-17 23:12:24
現在我看到了問題:change-merged鉤子不會將提交消息作爲參數。因此,當補丁最終被推送到分支時,不可能保留提交消息。嗯... – 2012-03-17 23:35:57
哦,你想*修改*原始提交?如果你想要做的只是修改提交,你可以這樣做('git commit --amend -C HEAD')來代替上面的'git commit -m..'行。 '-C HEAD'表示「使用HEAD修訂版中的提交消息和作者,並且不要打開編輯器來提示輸入消息。」 – Joe 2012-04-10 18:47:41