diff和patch简单使用

上面的两个文件夹不同之处是前者有一个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删除补丁就可以啦

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值