转自:http://www.myfaq.com.cn/2005September/2005-09-13/201252.html
diff 以行为单位比较两个文本文件(或者是目录),并将不同之处输出到标准输出上,
patch可以读入这些输出,并按照一定的指令使源文件(目录)更新
diff 以行为单位比较两个文本文件(或者是目录),并将不同之处输出到标准输出上,
patch可以读入这些输出,并按照一定的指令使源文件(目录)更新
diffutils-2.7.2-2
patch-2.5.4-10
1, diff
options:
-r --recursive
-p --show-c-function //标识不同之处所在的函数名(只用于C程序)
-e --ed //ed 命令格式 diff -e test1 test2
//混合ed命令格式(无参数) diff test1 test2
-f //RCS命令简单格式 diff -f test1 test2 Revision Control System
-c --context //旧版上下文格式 diff -c test1 test2
-u --unified //新版上下文格式 diff -u test1 test2
-N //如果某个文件只在一个目录中出现,则假定在另一个目录中为空文件.
diff的输出格式有三种:列举方式,命令模式,上下文模式
命令模式有:ed命令模式和RCS(Revision Control System)
上下文模式有:旧版和新版
命令模式记录的是从test1更新到test2所需要执行的命令,而上下文模式可读性更好一些.
Linux内核源代码就是按照新版上下文模式用diff组织的,
eg. diff -Nur linux-2.4.15 linux
2. patch
patch [options] [originalfile] [patchfile]
如果patchfile为空,则从标准输入读取
一般使用下面的形式:
patch -p[num] < patchfile
如果不提供p参数将忽略所有的目录信息,
-p0表示使用全部的路径信息
-p1表示忽略第一"/"以前的目录,依次类推
patch可以直接操作上下文格式以及混合ed格式的diff输出文件,而将ed格式文件通过管道提交给ed程序,
不清楚如何处理RCS格式文件.
eg.
bzcat linux-2.6.1.patch.bz2 | patch -p0
如果希望恢复到原来的版本可以使用 -R (--reverse)参数
但是只对上下文格式的diff文件有效.
eg. patch -R < program-1.2.patch
3. diff-patch和CVS的配合使用
在这种情况下,注意不要把CVS目录包括进去
eg.
patch -Nur program-1.0 program-1.1 --exclude=CVS
分享到:
相关推荐
关于Linux diff & patch的资料,想深入了解diff的童鞋可以收藏下
windows可用的diff和patch可执行文件,用于比较文件、生成补丁和应用补丁。用于一键给多个源文件加指定代码。比如应用systemview时需要对FreeRTOS进行的很多更改,参见...
用于Zip(Jar,Apk)文件Diff&Patch的C ++库和命令行工具; 创建最小增量/差异; 支持(Apk v1标志)& & 您可以使用此库(和Android NDK)来增量更新Apk。 (不支持zip64,仅支持解码代码;从属库 , 和 。) [] ...
NULL 博文链接:https://chuqq.iteye.com/blog/481803
Diff Match Patch是一种处理纯文本的多种语言高性能库
1) 在数学上来说:diff/patch,diff是对2个集合求差,patch是求和 diff A B >C ,一般A是原始文件,B是修改后的文件,C称为A的补丁文件。 patch A C 就能得到B, 这一步叫做对A打上了B的名字为C的补丁。 patch ...
diff_match_patch java资源库,方便文件之间求差异,和根据差异推算出新的文件,主要用于增量更新
要对文本文件的进行比较的时候,可以考虑使用google-diff-match-patch,它可以进行比较、匹配和生成补丁的操作 google-diff-match-patch这个类库提供了强大的算法用于纯文本内容的差异比较,匹配,打补丁,实现...
google-diff_match_patch:Java版本补丁包库文件
差异合并-Alpha版! 显示差异,并允许从左侧合并到右侧。 :raised_hand: 此扩展处于开发的非常早期阶段。...单击[Diff & Merge] Compare file with selected file 2.差异和合并-针对剪贴板文件(#
diff-match-patch 各平台源码 ,csharp,java,maven, python2, python3,javascript objectivec,cpp,lua
diff-match-patch
armboot-org2mini2440.diff:patch补丁包 补丁方法:将原始的armboot程序包armboot-1.1.0.tgz 解开后,将armboot-org2mini2440.diff文件放到和armboot-1.1.0的同级目录上,不要拷贝到 armboot-1.1.0 目录里面,...
shell常用命令—diff和patch1. diff用法2. diff比较目录3. patch用法 1. diff用法 diff file1 fil2 以后面的文件file2作为标准 比较file1相对于file2来说有什么不同 < 表示第一个文件中的内容 > 表示第二个文件...
数据状态更新时的差异 diff 及 patch 机制(1)
使用google-diff-match-patch比较文件 要对文本文件的进行比较的时候,可以考虑使用google-diff-match-patch,它可以进行比较、匹配和生成补丁的操作。
install parsec3.0 for gem5 on arm architecture. qemu-patch.diff
1) 在数学上来说:diff/patch,diff是对2个集合求差,patch是求和 diff A B >C ,一般A是原始文件,B是修改后的文件,C称为A的补丁文件。 patch A C 就能得到B, 这一步叫做对A打上了B的名字为C的补丁。 patch ...