2017-04-05 136 views
1

我目前在我的新公司中設置了gerrit服務器。我過去使用gerrit好幾年了,但我從未設置過一個。在沒有父母的情況下在gerrit中提交補丁

我安裝了gerrit 2.13.5,我試圖配置它。我有兩個最後要解決的問題(我在這裏只討論一個)。

我的列表提交A-> B->Ç

A是B的父,B是的Ç

  • 有人拒絕(-2)我的補丁A和B(因爲它們不好),但接受C(+2)。
  • C是完全地無關的A和B(在另一個文件夾中其他文件到我的項目)

的按鈕「提交包括父母」似乎我犯C,但我不能摘櫻桃成格里特/主因爲A和B都是拒絕分支。由於C與A或B無關,但我不想要太多本地分支,所以我已經完成了所有3個提交到同一分支。

我用摘櫻桃提交選項爲格里特配置

[submit] 
action = cherry pick 
mergeContent = true 

我認爲,使用這個選項,我能摘櫻桃的提交對象沒有直接父母的依賴。我曾經在我以前的公司這樣做過,但我無法成功在這裏設置gerrit。

如果有人有任何想法或問題,我會真的得到或回答它。

乾杯。

+0

如果C與A和B沒有關係,那麼將其基於上游分支而不是B,這樣就不會有A和B作爲父母,並且您將不會有合併問題。 – larsks

回答

2

我有一個非常不同的版本Gerrit(2.13.6),我試圖在這裏重現這個問題。我發現以下幾點:

  1. 如果項目戰略是 「櫻桃挑選」 按鈕顯示 「提交」

enter image description here

  • 如果該項目的策略是任何其他選項,按鈕顯示「提交包括父母」
  • enter image description here

    使用第一個選項,可以在第一個選項之前提交第二個提交,而沒有問題。

    因此,我認爲檢查您是否確實爲您的特定項目設置了「Cherry Pick」策略是一個好主意。如果「Cherry Pick」策略設置正確,則可以嘗試更新最後一個可用版本(2.13.7)。

    +0

    你又是對的。在創建一些項目後,我將策略從「必要時重新分配」改爲「Cherry Pick」。新創建的項目有正確的策略,而老項目則沒有。我一個一個改變了所有錯誤的項目策略,現在一切都是正確的。謝謝。 –

    0

    在這種情況下,無論您的項目是什麼,都有一種可能性。

    • 點擊Rebase按鈕。
    • 檢查選項Change parent revision
    • 輸入你可能要重訂的分支或HEAD任何未提交變更的Git的SHA-ID提交分公司。

    這將爲更改創建一個新的補丁集。評論將不得不再次完成,並且驗證將再次執行。雖然這不是直接提交,但如果您沒有gerrit服務器設置權限,這可以提供幫助。

    相關問題