什么是upstream
Upstream 是指软件开发者向原作者或管理者(maintainers)发布补丁的行为,包括修复bug和增加新功能. 补丁通常是以邮件的形式发出补丁.
kernel每个模块都有一个或者几个维护者,他们负责review提交者的代码,如果补丁没有问题会先apply到maintainer自己的分支上,再由maintainer合并到master分支上.通常我们说的upstream成功,指的就是提交出现在master分支.
下面是kernel和u-boot的git总服务器:
kernel org, U-boot
为什么要upstream
- 规范代码,获得更好的可读性;
- 发现潜在bug;
- 获得更多关注,有开发者会帮我们修复bug;
- 更容易升级kernel版本;
订阅upstream补丁
Linux Kernel Mailing List是linux kernel发展的主邮件列表,几乎所有关于kernel的通知,讨论,都可以在这里看到.
发送补丁时只需要收件人中加入:gro.lenrek.regv|lenrek-xunil#gro.lenrek.regv|lenrek-xunil,就可以在这个LKML上看到自己的补丁.
如果你想收到所有upstream的邮件,可以到kernel vger中注册。实际上它是让你接收所有发送给gro.lenrek.regv|lenrek-xunil#gro.lenrek.regv|lenrek-xunil这个邮箱的邮件。
Rockchip也有自己的mail list, 他由Olof, Heiko,可以注册这个mail list来订阅rockchip kernel相关补丁。
搜索upstream补丁
patchwork
patchwork网页可以查找到所有发送给gro.lenrek.regv|lenrek-xunil#gro.lenrek.regv|lenrek-xunil的邮件,包括补丁和回信,通过Filters 关键字可以找到你想要的补丁。它是一个总的mail list,也可以从list中选择查找子系统的patchwork, 如:rockchip。
pwclient
pwclient工具可以用于搜索mail list补丁,但是它只能看到原始的补丁,看不到别人的回复。使用方法是下载pwclient工具和它的配置文件:.pwclientrc并把配置文件改名成".pwclientrc",放到用户目录下:/home/xxx/。
# Sample .pwclientrc file for the linux-rockchip project,
# running on patchwork.kernel.org.
#
# Save this file to ~/.pwclientrc
#
[base]
url: https://patchwork.kernel.org/xmlrpc/
project: linux-rockchip