2010-09-24 63 views
1

如上所述:http://hgbook.red-bean.com/read/handling-repository-events-with-hooks.html我想我可以編寫一個小鉤子來拒絕帶有格式錯誤的提交消息的checkins。這沒問題,我遇到的問題是以下工作流程:通過prexxchangegroup強制執行mercurial commit消息策略?

如果開發者讓我們說10個本地提交,其中一些是畸形的,然後將它們推送到中央存儲庫,所有將被拒絕,但他是無法編輯舊的提交消息,因爲回滾將只能使用一次..

你如何解決這個問題?

回答

2

使用HistEdit extension,您可以在本地更改提交消息,然後推回主存儲庫中的所有更改。

0

我想你不能強制開發人員使用相同的precommit鉤來檢查提交消息,因爲它不是一個集中管理的項目嗎?

@gizmo's answer的替代方案是讓開發人員在推送之前使用MQ並強制執行代碼審查(或者更好的是,有人從他們那裏拉)。然後,如果審閱者(或某些審閱腳本)發現格式錯誤的郵件,則開發人員可以使用qrefresh來更改郵件。

你需要小心在工作流程中的幾件事情,但:

  1. 永遠不要推/拉未完成的補丁,即使qfinish不改變哈希。這太容易搞砸了。
  2. 確保開發者qcommit每次發送出去審查之前,否則你不會知道他/他在下一次迭代中是否會發生其他變化(不是他/她可以,但他/她可以)。