如何向openstack提交代码

之前一直在向内网git库提交代码,最近终于要向社区提交了,鼓捣下流程。

提交代码的官方文档:
http://docs.openstack.org/infra/manual/developers.html

大体就是代码修改完成之后,git addgit commit, git review

git review会把代码提交到 https://review.openstack.org/ 进行review,review回归测试跑过了,然后被别人+2后就merge了。

提交前的账号信息准备

注册账号这里有些坑,虽然官方文档写的比较详细,但是仍然会不小心漏掉一点细节,就会导致git review失败。
所以一定要仔细看每一行字:http://docs.openstack.org/infra/manual/developers.html#account-setup

这里列出几处注册账号时必须做的事情:

提交代码的验证方式

社区提供了两种提交代码的方式sshhttps
由于国内的网络原因,使用ssh总是会出各种各样的问题,可以直接用https方式来提交,省时省力

先下载一个project的代码

1
2
git clone https://git.openstack.org/openstack/<projectname>.git
cd <projectname>

ssh提交方式,直接提交
https提交方式,则需要设置一下,主要是自己的username和上述步骤中生成的password

1
git remote add gerrit https://<username>:<password>@review.openstack.org/<umbrella repository name>/<repository name>.git

这样在项目的配置remote.gerrit.url就会有值了

如何下载他人或者自己以前的patch

经常会遇到这样的情况,看到别人的patch希望自己下载下来改下,提交自己修改的东西
或者是自己的patch,但是本地文件夹被删除了,希望再次在本地修改

看到网上最简单的一种就是,直接使用git review命令

1
2
3
cd <projectname>
git review -d <review_id>
git review -d <change_id>

还有就是可以根据gerrit网页右上角的Download提供的几种下载命令,把patch下载到本地