1. 程式人生 > >Gerrit+apache+H2資料庫簡單安裝配置及建庫流程

Gerrit+apache+H2資料庫簡單安裝配置及建庫流程

Gerrit上程式碼提交的三種狀態

程式碼提交至Gerrit之後,有三種狀態,分別是:Open、Merged、Abandoned。
Open 狀態的程式碼需要經過Review,Verify,Submit操作後才會真正入庫,即成為Merged狀態
Merged 狀態的程式碼已經入庫,不能再Abandoned,只能Revert.
Open 狀態的程式碼由於各種原因不能入庫的可以放棄,即Abandoned狀態。
Abandoned 狀態的程式碼不能再入庫,如有需要,可以“Restore”。

Gerrit上程式碼提交的詳細資訊

程式碼提交之後,登入Gerrit,可以看到此次提交已經顯示在列表中,如下圖

  • 綠箭頭所指是目前檢視的程式碼狀態,即Open狀態的列表。
  • 列表顯示的資訊依次是
ID Subject Owner Project Branch Updated CR V
ChangeId 提交資訊的第一行 提交人 庫名 分支名 最後變更的時間 Review的狀態 Verify的狀態
  • CR 的狀態有四種,分別為 (-2),-1+1 (+2)
其中-1並不影響入庫,但-2則需要重新提交新的Patch Set,或者設定-2的成員批准才能入庫。
  • V 的狀態有兩種,分別是 (-1), (+1)
其中-1的狀態不能入庫,需要重新編譯驗證(Verify)通過才可以入庫。

點選列表中的“ID”或“Subject”,則可以顯示該提交更詳細的資訊。下圖的放大效果中顯示了該提交當前的狀態。

  • Rerviewer Jenkins成員給該提交 -1 ,這是Jenkins系統的自動任務,在這裡用於檢查提交資訊(git log)的格式;
  • Need Verified 表示該提交還沒有進行編譯驗證;
  • Need Code-Review 表示該提交還沒有進行程式碼Review,請注意,這裡指Review +2
Note: Review +2表示更高一級的Review許可權,即需要有此許可權的成員Review程式碼後判斷是否允許程式碼入庫。兩個Review +1並不能獲得同等的效果

下圖顯示了提交詳細資訊中的下半部分,主要有每次提交的Patch Set詳情,該提交修改的檔案列表,以及每次Review的說明資訊。

  • 兩個Patch Set表示該提交在入庫前又做過一次修改:程式碼入庫前允許有多次修改,包括對git log的改動;
  • 點選修改檔案列表中顯示的檔案(紅色橫線標識),顯示該檔案修改前後的對比,如圖中綠色箭頭所指(實際效果為在新的頁面中展示);
  • 檔案修改的對比版本可以自由選擇是與Base或是與某一個Patch Set作對比,請注意圖中“Old Version History”(淺紫色框)下拉選單的選擇;
  • Comments資訊是Review程式碼時填寫的資訊。

程式碼的Review

點選Review按鈕(上圖紅圈標識),可以對當前提交做Review的操作,如下圖:

  • 不同許可權,可以看到左右不同的頁面,選擇相應Review的分數即可;
  • 資訊框中可以填寫此次Review的更詳細的資訊,並點選“Publish”按鈕。

程式碼的Verify

一般情況下,程式碼都是通過Jenkins的Verify 任務完成編譯驗證並自動打分。
有Verify許可權的成員,可以在確認程式碼編譯驗證通過之後,手動打分(極不推薦),選擇Verfiy的分數,填寫資訊,並點選“Publish”按鈕。如下圖:

程式碼的Submit

程式碼經過Review +2和Verify +1之後才可以Submit入庫;
Review和Verify的順序沒有要求。

如圖,可以看到兩個按鈕“Publish Comments”和“Publish and Submit”

  • 點選“Publish Comments”只進行Review或Verify的打分;
  • 點選“Publish and Submit”在Review或Verify的打分同時直接Submit。

如果只選擇了給Review或Verify打分,也可以進行Submit,如下圖,點選“Submit”按鈕

至此,該提交Review完成,正式提交入庫,狀態變為“Merged”