之前一直在向内网git库提交代码,最近终于要向社区提交了,鼓捣下流程。
提交代码的官方文档:
http://docs.openstack.org/infra/manual/developers.html
大体就是代码修改完成之后,git add
,git 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
这里列出几处注册账号时必须做的事情:
- https://launchpad.net/ 网站的账号注册
- https://www.openstack.org/join/ 账号注册,选择foundation member类型,文档也有说明(一不小心就漏了)
- https://review.openstack.org/ 注册,其实是和launchpad关联,只用launchpad ID进行单点登录
- https://review.openstack.org/#/settings/ 用户名设置,设置后不能修改,慎重
- https://review.openstack.org/#/settings/agreements 同意license协议
- https://review.openstack.org/#/settings/ssh-keys 如果是ssh提交方式,上传本机ssh-key
- https://review.openstack.org/#/settings/http-password 如果是https提交方式,生成密码(如果密码字符里有/就再生成一次,因为这个字符在git设置时会出错)
提交代码的验证方式
社区提供了两种提交代码的方式ssh
和https
由于国内的网络原因,使用ssh总是会出各种各样的问题,可以直接用https方式来提交,省时省力
先下载一个project的代码1
2git clone https://git.openstack.org/openstack/<projectname>.git
cd <projectname>
ssh提交方式,直接提交
https提交方式,则需要设置一下,主要是自己的username和上述步骤中生成的password1
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
3cd <projectname>
git review -d <review_id>
git review -d <change_id>
还有就是可以根据gerrit网页右上角的Download提供的几种下载命令,把patch下载到本地