什么是upstream

Upstream 是指软件开发者向原作者或管理者(maintainers)发布补丁的行为,包括修复bug和增加新功能. 补丁通常是以邮件的形式发出补丁.

kernel每个模块都有一个或者几个维护者,他们负责review提交者的代码,如果补丁没有问题会先apply到maintainer自己的分支上,再由maintainer合并到master分支上.通常我们说的upstream成功,指的就是提交出现在master分支.

下面是kernel和u-boot的git总服务器:
kernel orgU-boot

为什么要upstream

  1. 规范代码,获得更好的可读性;
  2. 发现潜在bug;
  3. 获得更多关注,有开发者会帮我们修复bug;
  4. 更容易升级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