向Chromium项目提交代码

6 篇文章 0 订阅
1 篇文章 0 订阅
由于早前向向Chromium项目组提交了一些patch,本人成为了Chromium的Contributor,大家可以在最新的Chromium根目录的AUTHORS文件找到我的名字,或者访问

http://src.chromium.org/svn/trunk/src/AUTHORS

查看



下面说一说如何向Chromium项目组提交代码。

Chromium的代码提交大体上分两种:实现新feature;解决issue。这里只说明解决issue的代码提交流程:

1.      Chromium要求所有patch都有对应的issue,所以如果你解决的问题并不是一个已知问题,需要提交issue到https://code.google.com/p/chromium/issues/list。注意Chromium要求提交issue前先用关键字查找有没有同样的issue。

2.      如果是你自行提交的issue,需要与Chromium的测试人员沟通,确保他们能重现问题,否则这个issue不会被分配。

3.      一旦issue被确认,Chromium的测试人员会将issue的状态置为Assigned。如果你有解决方案,强烈建议事先与owner沟通,确认你的解决思路可行,以减少后续成本。一个比较好的办法是将你的patch作为附件贴到issue讨论串中,owner会去看。注意,与owner保持良好的沟通有助于你事半功倍!


4.      若Owner接受你的解决思路,你就可以开始提交patch。如果你是第一次提交代码,首先要到下列网页上在线签署CLA:https://developers.google.com/open-source/cla/individual。如果公司已经签署过Corporate专用的CLA,则你不需要再重新签署。注意签署时,最好使用与你的google账户一致的邮箱地址,否则要向你提交的AUTHORS文件的reviewer(一般是这个issue的owner)专门做出解释。

5.      迁出你需要修改的Chromium分支,通常是trunk。新建一个分支,命名随意,比如你解决的issue是319619,可以命名为bug-319619

git checkout -b bug-319619 origin/master

修改完毕后

git commit –m“xxx…”

以上可以用图形化工具TortoiseGit操作。注意Chromium对提交日志的要求很严,至少要有下列信息:

标题
(空行)
正文
(空行)
R=(owner的邮箱)
BUG=(issue的编号)
由于reviewer们不能和你面对面沟通,你如何能在日志中表达清楚你的思路非常重要。注意,如果你是第一次提交patch,你需要同时修改AUTHORS文件。

6.      一旦修改和提交完毕,你就需要使用cl工具提交到Chromium强大的reviewer系统:Rietveld。运行以下命令

git cl upload --send-mail

注意cl工具不属于TortoiseGit,需要用depot_tools下的git方能识别。执行过程中请特别注意warning,没有特殊原因,任何一个warning都是不应该出现的。


注意,第一次运行git cl的过程中可能需要你输入google账号和密码。

7.      CL成功后你将会在
https://codereview.chromium.org
看到你的Outgoing reviews一项有了新的条目,接下来的工作,就是等待reviewer们反馈。要特别注意,issue的owner默认是你的reviewer之一,但对于较复杂的问题,一个reviewer通常是不够的,所有修改的源文件都必须由它所属的OWNER(注意与issue的owner相区别)之一来review。可以通过1)查看相应模块的OWNER文件(在源码目录)选取;2)查看你所修改的文件的blame记录,找到维护人。不过更好的办法是求助issue的owner,让他替你选取reviewer最靠谱。

8.      接下来,在这个issue下的所有回复都会自动发送email,你只需要等待reviewer们的意见,修改你的代码。注意代码的修改必须在你先前建立的分支上。每次修改完并提交后,运行“git cl upload”重新提交patch。

9.      一旦你收集到足够的"LGTM" ("Looks Good To Me")评论(评论的reviewer们作为OWNER覆盖了所有修改的文件),你可以点选Rietveld上对应的issue页面的“commit”项 。你的patch会被提交到CommitQueue,稍后Rietveld会运行大量trybot验证你的修改没有引入新的问题。

10.      一旦你的patch通过了所有trybot的考验,祝贺你,你的patch将被正式提交到Chromium上。



更多内容请参考

http://www.chromium.org/developers/contributing-code


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值