源码维护基本命令diff_patch_quilt
源码维护基本命令
一. diff--生成补丁
diff [命令行选项] 源文件 新文件
-r 递归处理相应目录
-N 包含新文件到patch
-u 输出统一格式(unified format),这种格式比缺省更紧凑些
-p 如果不同在函数中,则提示所在函数名
-a 可以包含二进制文件到patch中
-N 视不存在的文件为空文件来比较
-x PATTERN 忽略PATTERN匹配的文件
diff –ruN test1.txt test2.txt > test.patch
二. patch--打补丁
patch -pn(n为自然数) < patch文件
$patch –p<n> <diff_file $cat diff_file | patch –p<n> $bzcat diff_file.bz2 | patch –p<n> $zcat diff_file.gz | patch –p<n> <n>代表按照patch文件的路径忽略的目录级数,每个“/”代表一级。
p0是完全按照补丁文件中的路径查找要修改的文件
p1则使用去掉第一级“/”得到的相对路径,再基于当前目录,到相应的相对路径下查找要修改的文件。
考虑到顶层目录在不同的系统上可能有所不同,要使用这个选项,就要把patch文件放到要被打补丁的目录下,然后在这个目录下运行命令。
如linux-2.6.14 –> linux-2.6.15 => patch-2.6.14.15,打补丁
$bzcat ../patch-2.6.14.15.bz2 | patch –p1 //上一目录 $patch -p0 <patch-2.6.14.15.bz2 //被打补丁的目录
三. quilt--补丁管理
quilt命令同样具有生成补丁和应用补丁的功能,但它的优势是还可以作为管理补丁的工具。一个比较大的项目可能由不同开发者共同维护,其中很多修改都以补丁的方式提供,这些补丁可能存在依赖关系。
quilt工具在源代码目录中生成一个patches/目录,里面存放所有可用的补丁,记录了所有patches的先后顺序,并提供了一系列操作这些补丁的命令。
quilt以栈的形式管理补丁,最先打上的补丁位于栈底,最后打上的补丁位于栈顶(top)。打patch的动作称为push,取消补丁的动作称为pop。就如下图所示,项目中有5个patch,最新的patch为e.patch,所以quilt将这个patch放在栈顶,通过维护这样一个结构,quilt可以继续打新patch或按顺序回退patch。
源代码的patch文件的先后顺序可以查看patches/目录下的series文件。
参考:diff/patch命令以及quilt工具的使用
源码维护基本命令diff_patch_quilt相关推荐
- RocketMQ源码(十九)之消费者Rebalance
文章目录 版本 简介 Broker端 ConsumerManager ConsumerOffsetManager SubscriptionGroupManager 消费端 RebalanceServi ...
- [转] 用Diff和Patch工具维护源码
在Unix系统下,维护源码版本可以使用很多方法,其中最常用的当然是大名鼎鼎的CVS,但实际上,简单的版本维护工作并没有必要使用复杂的CVS等专门的版本维护工具,Unix标配中的diff和patch工具 ...
- 酷炫星空公告维护页源码
简介: 可以做成自己的引导页 也可以整成维护公告页 源码为html页面,直接上传修改信息即可 自带音乐,可自行关闭 文字内容可以修改 网盘下载地址: http://kekewangLuo.net/O1 ...
- 网站维护404页面带音乐源码CSS本地化
介绍: 可以用来当网站维护界面 404页面 502页面 都可以 源码简单CSS本地化 不是网上泛滥的版本 已经修复 网盘下载地址: http://kekewl.org/evdg1g1TT310 图片:
- GitHub 下架 Youtube-dl 遭粉丝疯狂上传源码报复,开源者的权益谁来维护?
整理 | 夕颜 图源 | 视觉中国 出品 | CSDN(ID:CSDNnews) 最近,GitHub发生了一件大事.事情的主角是一个名叫YouTube-dl的开源视频下载工具源码,可以用来下载YouT ...
- 超唯美海洋夕阳日落网站维护HTML源码
正文: 超唯美海洋夕阳日落网站维护HTML源码,有兴趣的自行拿去体验吧. 程序: wwxths.lanzouu.com/imTuo0il3fkd 图片:
- Java毕设项目中学后勤设备保修维护管理系统计算机(附源码+系统+数据库+LW)
Java毕设项目中学后勤设备保修维护管理系统计算机(附源码+系统+数据库+LW) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也 ...
- java计算机毕业设计中学后勤设备保修维护管理系统源码+mysql数据库+系统+部署+lw文档
java计算机毕业设计中学后勤设备保修维护管理系统源码+mysql数据库+系统+部署+lw文档 java计算机毕业设计中学后勤设备保修维护管理系统源码+mysql数据库+系统+部署+lw文档 本源码技 ...
- 计算机毕业设计Java中学后勤设备保修维护管理系统(源码+系统+mysql数据库+lw文档)
计算机毕业设计Java中学后勤设备保修维护管理系统(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java中学后勤设备保修维护管理系统(源码+系统+mysql数据库+lw文档) 本源码技术栈 ...
- Redrain个人维护并使用的DuiLib和UiLib库源码下载地址
转载请说明原出处:http://blog.csdn.net/zhuhongshu/article/details/40740353,谢谢~~ 首先说明一下Duilib和Uilib的区别:UiLIb是D ...
最新文章
- 【FI模块学习笔记】 固定资产概述(下)
- vue 双向数据绑定的实现学习(一)
- Haproxy+多台MySQL从服务器(Slave) 实现负载均衡
- bootstrap-validator 验证一个标签同时验证另一个指定标签
- Makefile赋值符号的使用——= := ?= +=
- 过滤器,绑定事件,动画
- kido机器人用流量吗_国脉电信200元天网卡,交1700流量无线用,拉人加入还会有不错的收益,你信吗?反正我是不信!...
- java中类和实例化_Java中类的初始化与实例化
- mybatis java sql_mybatis java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax;
- python插入排序
- 深度图像RGB-D(RGB+Depth Map)名词扫盲笔记
- 华为手机隐藏代码大全!一秒查出你的手机使用记录
- python编写贪吃蛇大战_用Python实现贪吃蛇双人大战
- glsl中uniform,attribute和varying详解
- ACM程序设计 -L (字符串倒输出)
- uniApp 实现微信小程序和app视频播放flv格式视频监控
- python可以替代office吗_哪些办公软件可以完美替代 Microsoft Office?
- oracle 里sum(0),sum(1) ,sum(2) ,sum(num) over,count(*) over() ,coun(*),count(1)
- 做旅游的就要有驴子精神
- 谷歌浏览器恐龙游戏开挂秘诀
热门文章
- java 编写a-z输出,有1-26个数字和a-z字母,用Java多线程实现先输出2和数字再输出2个字...
- android背景差分法,基于android平台的视频运动目标检测系统.pdf
- 通过vue-cli3构建一个SSR应用程序
- 必须掌握的30种SQL语句优化
- 学会写出"图形界面+数据库"的程序要多长时间?
- 开发反应执行阿里云mysql语句报错
- [题解]第十一届北航程序设计竞赛预赛——I.神奇宝贝大师
- oracle中trim,ltrim,rtrim函数用法
- sysbench 0.5 oltp测试笔记
- c++primer 容器算法整理一