Gerrit+apache+H2資料庫簡單安裝配置及建庫流程
阿新 • • 發佈:2019-02-02
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
下圖顯示了提交詳細資訊中的下半部分,主要有每次提交的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”