zoukankan      html  css  js  c++  java
  • 打patch p0 p1区别

    如何使用patch
    对于一个patch文件,有两种常用使用方法:
    1.代码:cat new-patch | patch -p0

    2.代码:patch -p0 < new-patch
     

    patch命令里面的层数(-p0?-p1?)
    参数-p来指定从第几层开始比较。比如有一个patch文件的补丁头是这样的:

    代码:
    --- old/modules/pcitableMon Sep 27 11:03:56 1999
    +++ new/modules/pcitableTue Dec 19 20:05:41 2000

    如果使用参数-p0,就表示从当前目录,找一个叫作new的目录,在它下面找一个叫modules的目录,再在它下面找一个叫pcitableMon的目录。
    如果使用参数-p1,就表示忽略第一层,从当前目录找一个叫modules的目录,在它下面找一个叫modules的目录。这样会忽略掉补丁头提到的new目录。
    依此类推。

    patch文件的结构
    补丁头
    补丁头是分别由---/+++开头的两行,用来表示要打补丁的文件。
    一个补丁文件中的多个补丁
    一个补丁文件中可能包含以---/+++开头的很多节,每一节用来打一个补丁。所以在一个补丁文件中可以包含好多个补丁。

    块是补丁中要修改的地方。它通常由一部分不用修改的东西开始和结束。他们只是用来表示要修改的位置。他们通常以@@开始,结束于另一个块的开始或者一个新的补丁头。
    块的缩进
    块会缩进一列,而这一列是用来表示这一行是要增加还是要删除的。
    块的第一列
    +号表示这一行是要加上的。
    -号表示这一行是要删除的。
    没有加号也没有减号表示这里只是引用的而不需要修改。

    分析
    这个例子是由命令

    代码:
    diff -u old/modules/pcitable new/modules/pcitable

    创建的。不过最好是用命令diff -Naur来代替diff -u。
    它修改了两个文件,new/modules/pcitable和new/usr/share/kudzu/pcitable。
    第一个补丁头包含两个块,分别增加了两行和一行。

  • 相关阅读:
    ipv6现状,加英文的中括号访问, ipv6测试http://test-ipv6.com
    从30岁至35岁:为你的生命多积累一些厚度
    delete
    国内投行的工资
    南京大学行业求职研究报告——投资银行篇
    【oracle案件】ORA-19502,ORA-27072
    多线程第四篇秒杀 一个经典的多线程同步问题
    霍夫的图像处理变换(线检测算法)
    hadoop-ha组态
    央视公然诽谤Linux操作系统,谁报告?
  • 原文地址:https://www.cnblogs.com/timssd/p/4478115.html
Copyright © 2011-2022 走看看