openstack開發之Gerrit工作流程

2021-06-20 11:54:17 字數 2579 閱讀 7948

1. 建立乙個 launchpad account賬號,加入openstack社群。

2. 配置你的git:

git config --global user.name "firstname lastname"

git config --global user.email "[email protected]"

3. 安裝git-review

ubuntu或者其他大部分linux系統:

pip install git-review

ubuntu precise (12.04) 或者以後的版本包含git-review,像其他軟體一樣安裝即可。

apt-get install git-review

fedora 16 以後, git-review也包含在發行版本中,像其他軟體一樣安裝即可。

yum install git-review

opensuse 12.2以後版本,也包含在發行版本中,像其他軟體一樣安裝即可

zypper in python-git-review

4. 工程設定:

獲取專案**

git clone git:

cd nova

檢查git-review檢查是否可以提交**review

git review -s

如果之前沒有增加過遠端倉庫

git remote add gerrit ssh:

5. 正常工作流程

獲取倉庫最新**

git remote update

git checkout master

git pull --ff-only origin master

當你要開發乙個特性或者修改乙個bug,建立乙個分支,在這個分支裡邊完成你的修改

git checkout -b topic-branch

6. 提交修改

提交資訊裡邊需要寫上你的blueprint連線和bug號

adds keystone support

...long multiline description of the change...

implements: blueprint authentication

fixes: bug #123456

change-id: i4946a16d27f712ae2adf8441ce78e6c0bb0bb657

提交修改

git commit -a

如果是上次提交的乙個patch

git commit --amend

正式提交review

git review

注:gerrit根據change-id識別你的patch,出於各種原因,你原來提交**的本地倉庫壞掉,這時你可以從gerrit上取下你的patch,由於這時你不能再git commit -a --amend, 你可以在commit log的最下邊寫上你原來的change-id,還是可以提交到你原來的change上,生成乙個更新的patch。

7. **評審

如果別人的評審意見你採納了,這時你修改了你的**。你需要重新再上傳乙個patch,讓評審人再次評審。

git commit -a --amend

git review

直到沒有人再給出評審意見。這時一般openstack的核心開發人員會批准你的code進入正式倉庫。

如果在你開發過程當中,倉庫裡邊的**有人提交了新**,那麼你再提交新的patch的時候後出新衝突,這時你要

git checkout master

git pull origin master

git checkout topic-branch

git rebase -i master

8. 增加依賴

如果你需要在別人提交的patch的基礎上工作

#fetch config

git fetch  refs/changes/16/10816/9 && git checkout fetch_head

git checkout -b somebranchname

git review -r

注意:-r選項十分重要,否則初始的提交會被錯誤的修改

如果你依賴的提交的**有更新,這時你要

# check out the parent commit of the depended commit. sha1 is the commit id. 

git checkout -b anewbranch sha1

# cherry pick the depended commit

git fetch  refs/changes/80/28880/40 && git cherry-pick fetch_head

# cherry pick your last commit

git fetch  refs/changes/28/30028/6 && git cherry-pick fetch_head

# do the revisions

# commit 

git commit -a --amend

# submit for review

git review -r

OpenStack之Swift swift表結構

表account stat id名稱 型別 長度 預設值備註 account text created at text put timestamp text 0delete timestamp text 0container count integer object count integer 0b...

Openstack之KeyStone學習(一)

openstack 是乙個美國國家航空航天局和 rackspace 合作研發的雲計算軟體,以 apache 許可證授權,並且是乙個 自由軟體和開放源 專案。openstack 是iaas 基礎設施即服務 平台,讓任何人都可以自行建立和提供雲端 運算服務。以下是5個 openstack 的重要構成部分...

openstack之網路基礎

l1 物理層 l2 資料鏈路層,基於mac位址的通訊,通過交換機連線 對等傳輸,即交換機上的乙個主機發乙個包,連線在該交換 機上的所有機器都能收到 l3 網路層,基於ip位址,路由器裝置,連線不同網段,進行路由 選擇 交換機 路由器的區別 1 工作層級不同,交換機在l2,路由器在l3 2 資料 依據...