diff和patch简单使用
2010-05-13 11:13
274 查看
上面的两个文件夹不同之处是前者有一个aa.txt文件,另外修改了cpu/s3c44b0/cpu.c文件
一共有这两处不同,下面来使用diff进行创建补丁包:
退到两者的上一级目录,执行diff -Nur u-boot-1.3.1/ u-boot-1.3.0/ > test.patch
参数解释:
-r --recursive Recursively compare any subdirectories found.递归各级目录
-N --new-file Treat absent files as empty.对待缺失文件方式(像aa.txt,一个目录有该文件,一个目录没有,这样没有该文件的那个目录把aa.txt看作有这个文件,但内容为空)
-u统一格式
现在有了补丁包我们怎么打补丁呢,先看一下补丁包的内容
diff -Nur u-boot-1.3.1/aa.txt u-boot-1.3.0/aa.txt
--- u-boot-1.3.1/aa.txt 2010-03-27 08:26:03.000000000 +0800
+++ u-boot-1.3.0/aa.txt 1970-01-01 08:00:00.000000000 +0800
@@ -1 +0,0 @@
-hhhhhhhhhhhhhhhhhhhhhhhh
diff -Nur u-boot-1.3.1/cpu/s3c44b0/cpu.c u-boot-1.3.0/cpu/s3c44b0/cpu.c
--- u-boot-1.3.1/cpu/s3c44b0/cpu.c 2010-03-27 08:19:01.000000000 +0800
+++ u-boot-1.3.0/cpu/s3c44b0/cpu.c 2010-03-27 08:37:34.000000000 +0800
@@ -32,6 +32,15 @@
#include <command.h>
#include <asm/hardware.h>
+/*
+this is test
+*/
+void test()
+{
+ printf("%s/n","hehe");
+}
+
+
加入我们进入u-boot-1.3.0这个目录,我们可以执行
patch -p1 < test.patch
这样我们就打上了补丁啦,这里为什么要是p1呢?1是指把u-boot-1.3.0给过滤掉,就是说补丁是从这个目录下开始的。
如果我们打完补丁以后发现又不想要这个补丁了,怎么办呢?执行patch -p1 -R < test.patch删除补丁就可以啦
相关文章推荐
- 使用diff和patch进行简单的文件版本管理
- 几个频繁使用的命令tar/diff/patch/grep/find简单使用
- 使用diff和patch进行简单的文件版本管理
- 使用diff和patch进行简单的文件版本管理
- 使用diff和patch进行简单的文件版本管理
- 使用diff同patch工具
- linux--diff与patch的使用指南
- 【转】Linux下使用diff和patch制作及打补丁
- diff和patch工具使用(转)
- diff和patch使用指南
- 使用diff和patch制作及打补丁
- diff和patch的使用一二
- diff和patch使用指南
- 文件差异和补全功能使用diff_match_patch
- (ZT)diff和patch使用指南
- linux 补丁创建及使用原理(diff and patch)
- diff, patch, quilt的使用
- DIFF 与 PATCH命令使用
- diff&patch 使用
- 简单理解diff与patch命令