2016-05-01 48 views
2

我有一個分支,我想限制提交取決於來自bug跟蹤工具的屬性。所以我在ref-update鉤子中設置了一個檢查,以便在從git推送更改時執行此操作。但是,如果有人選擇從另一個分支進行更改,並且沒有衝突更改,則不必檢查該屬性。如何阻止cherry-pick在gerrit上的特定分支

  1. 有沒有辦法從gerrit中檢查這個屬性呢? (或)
  2. 我可以阻止某些樹枝上的櫻桃採摘嗎?

任何幫助表示讚賞。

回答

0

您可以阻止特定提交或鎖定分支。 如果你想阻止挑選櫻桃,你可以這樣做:

例如使用掛鉤(預接收)。 然後檢查所需提交的列表,並確定是否有任何已存在於存儲庫中,並且如果找到它 - 決定是否保留它。

問題: 將在合併發生什麼推?假設所有提交都已存在於存儲庫中,並且您正在嘗試合併它們。基於提交檢測,它將被阻止。

處理合並的鉤子是客戶端鉤子,處理推送的鉤子是服務器端鉤子。

摘要: 您可以阻止在選定的(或全部)分支一定承諾,如果你知道它的SHA-1,否則你將不得不找到一種方法來知道一個承諾是摘櫻桃提交。

+0

感謝@CodeWizard的答案。 Gerrit不支持git鉤子,因此使用pre-receive不是一個選項。我不確定使用哪個gerrit鉤子。將看看我是否可以使用patchset創建的gerrit鉤子。如果我成功,將會更新。我想知道是否有人知道在用戶界面上選擇「cherry-pick」時會發生什麼。這可能有幫助。 – LizzeBennet

+0

當你使用cherry-pick時,只需要提交併將其作爲最新的提交添加到你的分支 – CodeWizard

相關問題