提交代码到Linux开源社区(MAINLINE)

1.下载最新Linux源码

在这里插入图片描述

  • Ubuntu环境有网络且有git的情况下直接下载
  • win环境可以使用Git Bash来下载。
$ git clone https://mirrors.tuna.tsinghua.edu.cn/git/linux.git

2.修改.gitconfig

$ vi ~/.gitconfig
[user]
	email = yourname@youremail.com
	name = yourname
[core]
    editor = vim
	autocrlf = input
	compression = -1
[gui]
    encoding = utf-8
[color]
	ui = auto
[sendemail]
        smtpserver = smtp.mxhichina.com
        smtpserverport = 465
        smtpencryption = ssl
        smtpuser = yourname@youremail.com
[alias]
    co = checkout
    br = branch
    ci = commit
    st = status
    df = diff --ignore-space-at-eol
    fp = format-patch --ignore-space-at-eol -M -C
    fpb = "!f(){ git format-patch --ignore-space-at-eol -M -C --subject-prefix="PATCH][$(basename $PWD)/$( basename $(git config --get branch.$(basename $(cat .git/HEAD|awk '{print $2}')).merge))" ${*};};f"

3.将修改提交到主分支上

$ git add .
$ git commit
  • 进入commit说明的编辑窗口。
    在这里插入图片描述
  • 添加完必要的message后(不知道怎么写可以看看其他人类似的提交)退出。

4.生成format patch

  • 方法一:
$ git format-patch -1 //以HEAD为起点生成1个patch
$ git format-patch -n //以HEAD为起点生成n个patch
  • 方法二:
$ git format-patch HEAD^^^^ commit   //以HEAD为起点生成patch直到commit结束
$ git format-patch HEAD^^^^ 66fdfa4  //以HEAD为起点生成patch直到66fdfa4结束

5.检查将要发送的patch

./scripts/checkpatch.pl 0001-scripts-decodecode-fix-fault-instruction-no-print.patch
  • 必须0错误,0警告。
    在这里插入图片描述

6.获取将要给代码view的人

$ ./scripts/get_maintainer.pl 0001-scripts-decodecode-fix-faulting-instruction-no-print.patch
Andrew Morton <akpm@linux-foundation.org> (commit_signer:1/1=100%)
Borislav Petkov <bp@suse.de> (commit_signer:1/1=100%,authored:1/1=100%,added_lines:22/22=100%,removed_lines:7/7=100%)

7.将patch发送给他们view

$ git send-email --to bp@suse.de --to akpm@linux-foundation.org 
--cc maz@misterjones.org --cc will@kernel.org 
--cc rabin@rab.in 0001-scripts-decodecode-fix-faulting-instruction-no-print.patch
  • –to代表收件人

  • –cc代表抄送的人

  • 注意:在输入密码前,看看log要发的邮件的收件人和抄送人是否正确。

8.收到评审反馈后

8.1 需要修改patch

  • 修改patch版本,比如根据意见修改,提交第二版patch:
git format-patch HEAD^ --subject-prefix="PATCH v2"

8.2 不需要修改patch

  • 如果只是重新发送(内容不变):
git format-patch HEAD^ --subject-prefix="RESEND"

9.查看patch,review的网站

https://patchwork.kernel.org/

10.patch被接受的标志

  • 当出现明显的关键词如:merge,Acked-by:。则表明patch将要合并。

11.参考文献

https://www.kernel.org/doc/html/latest/process/submitting-patches.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值