2015-11-03 19 views
0

我正在嘗試創建一個Herald規則來阻止提交空的提交消息。該規則是適用於提交掛鉤:提交內容的全局規則。不幸的是,我一直無法獲得通過測試控制檯觸發的規則。爲什麼這個Phabricator Herald規則不適用?

這使我嘗試改變各種方式的條件,最終要這樣:

When any of these conditions are met: 
Always 

Take these actions every time this rule matches: 
Block push with message: No empty commit messages allowed. 

看起來這應該引起Phabricator適用本規則的任何承諾,但根據規則成績單,即使這規則不適用。

應該是?如果是這樣,什麼可能會導致這種行爲?

+0

一些簡單的問題:只是爲了確保規則沒有被禁用,對吧?我確定它是這樣的,但我想先讓它變得簡單一些......創建規則時,它是否被創建爲個人或對象類型規則?如果是這樣,那可能會限制它可以適用的範圍。 – CEPA

+0

該規則被標記爲活動的,所以它似乎沒有被禁用。我很確定我將它創建爲全局規則,規則類型顯示爲全局規則,所以似乎是這樣。我不知道如何在創建規則後更改規則類型,或者甚至可以這樣做,所以我懷疑這是否是全球規則以外的任何規則。 – foven

回答

0

通過討論irc.freenode.net上的#phabricator通道,我瞭解到測試控制檯測試預先提交的Herald規則目前尚未得到Phabricator的支持。幫助我創建此問題的任務的開發人員可以在此處找到https://secure.phabricator.com/T9719

使用測試控制檯不是一個選項,我不完全確定如何測試此類型的Herald規則,而不允許不可接受的提交到存儲庫。我讀過這個https://secure.phabricator.com/book/phabricator/article/diffusion_hooks/頁面,它解釋瞭如何安裝自定義掛鉤。有趣的是,它聲明「只有在所有先驅規則已經通過並且Phabricator準備接受提交或推送之後,這些掛鉤纔會運行。」我問是否有可能創建這種類型的鉤子來拒絕所有提交,然後通過實際嘗試正常提交提交來測試Herald規則。有人表示這可能有效。我還沒有機會對此進行測試,所以一旦知道更多信息,我就會發布更新。

相關問題