提交patch到kernel maillist

本文介绍了如何使用Git参与Linux内核开发的过程,包括从获取开发版代码到提交补丁的步骤,并提供了具体命令示例。

1. 获取开发版代码

git clone linux-next git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git


2. 在本地分支上修改

git branch patch

git checkout patch

// modify something

git add .

//提交时-s选项添加签名

//注释格式如下

   //第一行 subsystem: 简介, 

   // 空一行,

   // 详细注释

//提交patch时, 第一行默认会做为邮件的标题 

git commit -s -m


3. 创建补丁

// 相对master的修改

//如果上一步忘记在注释里签名, git format-patch的-s参数会在补丁里添加上

git format-patch master

4. 检查patch的代码风格

scripts/checkpatch.pl xxx.patch


5. 提交补丁

//安装git-email msmtp工具, 配置下次再讲

根据patch涉及的文件 查找收件人和抄送列表

比如:

   scripts/get_maintainer.pl -f drivers/staging/rtl8188eu/core/rtw_br_ext.c

//发送补丁

   git send-email --to gregkh@linuxfoundation.org --to Larry.Finger@lwfinger.net --to standby24x7@gmail.com --to oat.elena@gmail.com --cc devel@driverdev.osuosl.org --cc linux-kernel@vger.kernel.org xxx.patch

在 Gerrit 上将一笔提交的补丁应用到其他分支,通常需要通过重新应用更改并针对目标分支进行推送。Gerrit 本身支持通过 `git cherry-pick` 或 `git rebase` 将提交应用于不同分支,但最终仍需通过特定的推送命令提交到 Gerrit 的代码审查流程中。 ### Gerrit 的 patch 应用机制 在 Gerrit 中,每笔提交都与一个特定的分支相关联,并且通常通过 `refs/for/<branch>` 的方式提交更改请求。若需要将一个已提交patch 应用于其他分支,需要先将该提交检出或合并到目标分支,然后重新提交到 Gerrit 进行审查。 可以通过以下方式实现: 1. **检出原始提交并切换到目标分支** - 首先获取原始提交的哈希值: ```bash git log ``` - 检出该提交: ```bash git checkout <commit-hash> ``` - 创建或切换到目标分支: ```bash git checkout -b target-branch ``` 2. **将原始提交的内容应用到目标分支** - 若目标分支已有部分提交,可以使用 `git cherry-pick` 将原始提交的内容应用到当前分支: ```bash git cherry-pick <commit-hash> ``` 3. **推送更改到 Gerrit 的目标分支** - 使用以下命令将更改推送到 Gerrit 的目标分支审查流程中: ```bash git push origin HEAD:refs/for/target-branch ``` 该操作会创建一个新的更改请求,并与目标分支关联,等待审查通过后即可合并 [^1]。 ### 处理依赖关系 若原始提交与其他更改存在依赖关系,在目标分支上应用 patch 时需确保所有依赖项均已提交并通过审查。Gerrit 支持通过 `Change-Id` 来识别提交之间的关联,因此在进行 `cherry-pick` 或 `rebase` 操作时,应保留原始的 `Change-Id`,以便 Gerrit 能正确识别提交之间的依赖关系。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值