diff补丁格式
title: diff补丁格式
tags: 学习
categories: 学习
date: 2018-09-20 21:03:53
diff补丁格式
在Uboot学习中,接触到了打补丁这个操作,首先来学习下diff的patch文件格式.
命令参数
diff
- ”-u”:表示在比较结果中输出上下文中一些相同的行
- “-r“:表示递归比较各个子目录下的文件
- “-N“:将不存在的文件当作空文件
- “-w“:忽略空格的比较
- “-B“:忽略空行的比较
patch
-pn,表示忽略diff命令中原文件路径中的几层父目录,-p1表示忽略第一个父目录
补丁文件内容
- 第一行,首先指定文件目录路径个比对参数
- 第二行,
---.....表示原来的文件 - 第三行,
+++....表示新文件 - 第四行一般是被
@@...@@包含的内容,比如@@ -206,8 +206,8 @@: -206表示原来的第206行,8表示总共8行,+206表示这是从新文件的206行,总共也有8行 - 文件内容中
-表示删除这一行,+表示新增这一行,无+-表示保持原来的
制作补丁
使用命令 diff -urN oldFloder NewFloder > mypatch.diff,其中oldFloder为原旧文件,NewFloder为新文件,生成补丁mypatch.diff
应用补丁
使用命令patch 来应用补丁
例子
在OldFloder存在文件test.txt
111111
222222
333333
444444
555555
在NewFloder存在文件test.txt
111111 add here
delete 222222 here
33 change 33
444444
555555
为OldFloder创建补丁
diff -urN OldFloder NewFloder > test.diff查看下补丁的内容
cat test.diffdiff -urN OldFloder/test.txt NewFloder/test.txt
--- OldFloder/test.txt 2018-09-20 21:15:40.576162357 +0800
+++ NewFloder/test.txt 2018-09-20 21:17:02.747161577 +0800
@@ -1,5 +1,5 @@
-111111
-222222
-333333
+111111 add here
+delete 222222 here
+33 change 33
444444
555555
应用补丁,
patch -p1 < ../test.diff,命令前面的-p1表示忽略路径中第1个父目录,我们这里是在OldFloder中应用的,所以是p查看在
OldFloder中的文件cat test.txt,可以发现已经应用成功111111 add here
delete 222222 here
33 change 33
444444
555555
例子解析
diff -urN OldFloder/test.txt NewFloder/test.txt
--- OldFloder/test.txt 2018-09-20 21:15:40.576162357 +0800
+++ NewFloder/test.txt 2018-09-20 21:17:02.747161577 +0800
@@ -1,5 +1,5 @@
-111111
-222222
-333333
+111111 add here
+delete 222222 here
+33 change 33
444444
555555
@@ -1,5 +1,5 @@表示原来文件的第1行开始,总共有5行,新文件从第1行开始,总共有5行-111111表示删除原文件这一行-222222表示删除原文这一行-333333表示删除原文这一行- 后面三个
+++....表示新增这一行 - 接下去的
444444和55555表示不更改 - 这么减了三行,去除三行,然后再保留原来的两行
444444和555555,总共还是5行
diff补丁格式的更多相关文章
- nginx补丁格式说明(CVE-2016-4450为例)
nginx安全公告地址:http://nginx.org/en/security_advisories.html CVE-2016-4450:一个特定构造的数据包,可引发nginx引用空指针,导致ng ...
- u-boot(一)启动简介
目录 u-boot(一)启动简介 启动概述 内部存储布局 Bootloader概述 内核启动参数 taggedlist 体验一下实际的Uboot U-boot的使用帮助 U-boot基本要求 titl ...
- 精《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #5 使用checkpatch.pl检查补丁的格式
HACK #5 使用checkpatch.pl检查补丁的格式 本节介绍发布前检查补丁格式的方法.Linux内核是由多个开发者进行开发的.因此,为了保持补丁评估与源代码的可读性,按照统一的规则进行编写是 ...
- git apply、git am打补丁.diff 和 .patch【转】
本文转载自:https://www.jianshu.com/p/e5d801b936b6 前提: 生成patch: git format-patch -M master 生成指定patch,0163b ...
- Git命令diff格式详解
diff是Unix系统的一个很重要的工具程序. 它用来比较两个文本文件的差异,是代码版本管理的基石之一.你在命令行下,输入: $ diff <变动前的文件> <变动后的文件> ...
- uboot补丁的使用
在u-boot跟linux内核(台湾叫核心)编译过程中, 有个东西叫补丁, 其实通过某些补丁文件, 可以知道它对原始的版本做过哪些修改, 比前面那个帖子的挨个文件挨个文件的修改, 显得要高级那么一丢丢 ...
- linux patch 格式与说明(收录)
转:http://blog.chinaunix.net/uid-26813001-id-3282954.html 首先介绍一下diff和patch.在这里不会把man在线文档上所有的选项都介绍一下,那 ...
- Linux diff patch
/***************************************************************************** * Linux diff patch * ...
- linux常用命令--diff
diff是Unix系统的一个很重要的工具程序. 它用来比较两个文本文件的差异,是代码版本管理的基石之一.你在命令行下,输入: $ diff <变动前的文件> <变动后的文件> ...
随机推荐
- hdu-1686(kmp)
题意:前面的都是废话...其实直接看输入要求和输出要求就可以了,就是给你两个字符串,问你第一个字符串在第二个字符串中出现几次: 解题思路:kmp... 代码: #include<iostream ...
- JarvisOJ Basic veryeasyRSA
已知RSA公钥生成参数: p = 3487583947589437589237958723892346254777 q = 8767867843568934765983476584376578389 ...
- WEB请求处理
https://blog.csdn.net/bpingchang/article/details/51328941
- npm config 删除变量
问题 安装npm时,使用npm config set 命令重新设置了变量,但是设置变量时少了个空格,设置错了.使用npm config ls -l 查看环境变量 添加错的这一个,应该如何删除? 解决 ...
- zabbix 自动发现端口并添加监控设置
自动发现端口并添加监控设置UserParameter=net.listen.discovery,sudo /etc/zabbix/scripts/discovery_listport.sh #!/bi ...
- Hdoj 1086.You can Solve a Geometry Problem too 题解
Problem Description Many geometry(几何)problems were designed in the ACM/ICPC. And now, I also prepare ...
- Android 9.png图片的制作方法
在Android的设计过程中,为了适配不同的手机分辨率,图片大多需要拉伸或者压缩,这样就出现了可以任意调整大小的一种图片格式".9.png".这种图片是用于Android开发的一种 ...
- 深度分析Java的枚举类型—-枚举的线程安全性及序列化问题
原文:深度分析Java的枚举类型--枚举的线程安全性及序列化问题 枚举是如何保证线程安全的 要想看源码,首先得有一个类吧,那么枚举类型到底是什么类呢?是enum吗?答案很明显不是,enum就和clas ...
- 【bfs】Knight Moves
[题目描述] 输入nn代表有个n×nn×n的棋盘,输入开始位置的坐标和结束位置的坐标,问一个骑士朝棋盘的八个方向走马字步,从开始坐标到结束坐标可以经过多少步. [输入] 首先输入一个nn,表示测试样例 ...
- iptables(2)
MASQUERADE同样是做源地址转换,只不过防火墙会根据该策略自动查找可用的公网IP地址,适应变化的情况•若接口使用ppp+,表示匹配ppp0.ppp1……中任意可用的拨号连接•若需要演示操作,可以 ...