首页 > 其他 > 详细

向Chromium项目提交代码

时间:2014-03-18 21:59:20      阅读:594      评论:0      收藏:0      [点我收藏+]
由于早前向向Chromium项目组提交了一些patch,本人成为了Chromium的Contributor,大家可以在最新的Chromium根目录的AUTHORS文件找到我的名字,或者访问

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

查看

bubuko.com,布布扣


下面说一说如何向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保持良好的沟通有助于你事半功倍!

bubuko.com,布布扣

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都是不应该出现的。

bubuko.com,布布扣

注意,第一次运行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上。

bubuko.com,布布扣


更多内容请参考

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


向Chromium项目提交代码,布布扣,bubuko.com

向Chromium项目提交代码

原文:http://blog.csdn.net/intimater/article/details/21477973

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!