制作quilt补丁

步骤

生成空patch(quilt new filename.patch)->文件关联patch(quilt add {files})->修改文件->生成最终patch文件(quilt refresh)

1.生成一个空patch
quilt new 030-snd_soc_kconfig.patch    
[yubo.wang@localhost linux-3.18.20]$ ls patches
series 
    
2.文件关联patch(注:一定要在修改文件之前进行这个动作)
quilt add {files} //files=*,则是当前目录下所用文件,不包含子目录,如果需要子目录则subdir/*即可    
[yubo.wang@localhost linux-3.18.20]$ quilt add sound/soc/codecs/Kconfig
File sound/soc/codecs/Kconfig added to patch patches/030-snd_soc_kconfig.patch
    
3.查看对比修改的patch内容
quilt diff        
    
4.修改文件完后生成最终patch
quilt refresh

5.回退刚才的改动 (注:只回退文件的改动,对当前的patch文件没有回退,applied->unapplied)
quilt pop
6.取消文件对patch的关联,是与add相反的操作
quilt remove files    

合并异常情况

打补丁主要是根据行号和修改内容前后3行进行定位,如果行号和前后3行都不能进行定位的话就会抛出异常。

Applying patch patches/platform/020-restore_sys.patch
patching file drivers/mtd/ubi/io.c

patching file drivers/quectel-drivers/qstart/qstart.c
Hunk #1 succeeded at 45 with fuzz 2 (offset 24 lines).	【fuzz是啥?有影响吗】
Hunk #2 succeeded at 296 with fuzz 2 (offset 151 lines).
Hunk #3 FAILED at 238. 【这里有空行和其他差异,需要解决】
Hunk #4 succeeded at 495 with fuzz 1 (offset 237 lines).
Hunk #5 succeeded at 508 (offset 237 lines).
Hunk #6 succeeded at 522 (offset 237 lines).
Hunk #7 succeeded at 591 (offset 237 lines).
Hunk #8 succeeded at 632 (offset 237 lines).
1 out of 8 hunks FAILED -- rejects in file drivers/quectel-drivers/qstart/qstart.c
Patch patches/platform/020-restore_sys.patch does not apply (enforce with -f)

主要关注succeeded和FAILED,succeeded一般情况下都是成功合入无需关注,需要解决FAILED抛出的异常。

Applying patch patches/platform/050-cut_nouse_debugmsg.patch【^M问题,dos2unix解决】
patching file drivers/i2c/busses/i2c-msm-v2.c
patching file sound/soc/msm/mdm9607.c
Hunk #1 FAILED at 916 (different line endings).
Hunk #2 FAILED at 998 (different line endings).
Hunk #3 FAILED at 1009 (different line endings).
3 out of 3 hunks FAILED -- rejects in file sound/soc/msm/mdm9607.c

这里是结尾符的问题需要转换。

 

猜你喜欢

转载自blog.csdn.net/TSZ0000/article/details/89325643
今日推荐