精简Chromium代码仓库进行维护与升级

Chromium的代码仓库很大,我最近更新了一下,现在git仓库里面pack文件已经有8.8GB了。然而网络又不稳定,要完整获取如此大的代码还是比较困难。

我最推荐的方式是用阿里云香港或者新加坡的服务器搭建VPN,连接VPN来获取代码。阿里云香港或者新加坡的的VPN速度很快很稳定,我自己这边下载代码的速度有2MB/s,非常快。

其次是搭建Chromium代码仓库的mirror。这种方法对服务器的配置要求很高,4GB的内存只能支持不超过2个人同时获取代码。维护也比较麻烦,要成功编译Chromium,除了Chromium仓库,还有各种第三方仓库还有其他文件都需要做mirror。

如果不是很需要Chromium代码的历史提交记录,我们可以从Chromium代码的一个tag里面拉出代码,再提交到我们的自己的git仓库里面。这样的git仓库有700MB左右大小,只有Chromium的十分之一。

比如我们从Chromium的60.0.3112.113 tag拉出代码,提交到我们自己的own代码仓库里面。后续提交我们自己的o1、o2、o3、o4等修改代码。当需要升级到62.0.3202.75的Chromium代码时候,我们再把我们的own仓库的开发分支连接到Chromium代码的c2点上,进行rebase代码到62.0.3202.75 tag的c4提交后面,如下图所示:

我们从Chromium代码的tag拉出代码的目的是为了减小git仓库的大小,方便后续的维护。内核升级的时候,我们又需要把我们开发分支链接到Chromium的代码仓库里面,这是为了利用Chromium代码仓库的提交记录进行升级内核代码。否则没有Chromium代码仓库的历史记录,升级代码的时候需要我们手动处理很多代码冲突。

60.0.3112.113里面拉出c60分支

我们切换到需要拉出代码的tag 60.0.3112.113

然后创建一个不带Chromium历史提交记录的分支c60

然后就可以把c60分支push到我们自己的own仓库里面了。

开发分支c60关联到Chromium代码

我们在c60里开发,当需要升级那会到62.0.3202.75的时候,我们需要把c62分支再次关联到Chromium代码里

rebase我们的提交到62.0.3202.75之上

62.0.3202.75拉出c62分支

rebase我们的提交到c62上

《精简Chromium代码仓库进行维护与升级》有1个想法

发表评论

电子邮件地址不会被公开。 必填项已用*标注