patch命令注意

patch命令对于补丁路径的概念。

如果两个路径都是相对路径:

如果两个一个是相对,一个绝对路径:

如果两个都是绝对路径:

经过测试:都是先找短的,再找长的,不管是第一个还是第二个。

总结:先找短的,找不到再找长的。如果两个长度相同,则找第一个,找不到找第二个。


所以打补丁的人拿到补丁后,找到打补丁处和第一个或者第二个的相对路径差即可。

diff -ru home2/aa/bb/cc/text.txt      2016-03-14 09:52:34.000000000 +0800
+++ aa/bb/cc/test.txt      2016-03-31 16:27:17.000000000 +0800


你在目录dd下,下面是aa/bb/cc/test.txt,你想打/home/dd/aa/bb/cc/text.txt,

比如这个你打p0和p1是一个效果!

当然,如果在dd下还有这么一个目录,比如bb/cc/text.txt(/home/dd/bb/cc/text.txt),根据优先级,

那你用p1有就打到/home/dd/bb/cc/test.txt上面去了!!切记!

那如何避免呢?

偏移量短的来打补丁,比如这里,你就用p0,即使在dd目录下有home2/aa/bb/cc/text.txt,按照优先级,他也会找到aa/bb/cc/text.txt.


当然对于生成补丁的人来说,尽量在需要比较的文件夹上一层进行打,

打的人把补丁拿过去后用patch  -p1即可。免得还要计算!


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值