• 打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。
    第一个补丁头包含两个块,分别增加了两行和一行。

  • 相关阅读:
    zzulioj--1716--毒(模拟水题)
    zzulioj--1715--土豪银行(贪心)
    35.Java中mian方法详解
    34.Java内存布局以及java各种存储区【详解】
    33.Java中static关键字
    32.java的this关键字
    31.Java构造方法
    30.Java对象的特证之一-封装
    29.Java匿名对象
    28.Java局部变量和成员变量
  • 原文地址:https://www.cnblogs.com/timssd/p/4478115.html
Copyright © 2020-2023  润新知