iTech's Blog

-r 是一个递归选项,设置了这个选项,diff会将两个分歧版根源代码目次中的一切对应文件全部都停止一次比拟,包罗子目次文件。 -N 选项确保补丁文件将准确地处理曾经创立或删除文
admin

  -r 是一个递归选项,设置了这个选项,diff会将两个分歧版根源代码目次中的一切对应文件全部都停止一次比拟,包罗子目次文件。

  -N 选项确保补丁文件将准确地处理曾经创立或删除文件的状况。

  -u 选项以一致格局创立补丁文件,这类格局比缺省格局更紧凑些。

  2、patch

  ------------------

  NAME

  patch - apply a diff file to an original

  SYNOPSIS

  patch [options] [originalfile [patchfile]]

  but usually just

  patch -pnum

  ------------------

  复杂的说,patch就是应用diff制作的补丁来完成源文件(夹)和目标文件(夹)的转换。如许说就意味着你可以有源文件(夹)――>目标文件(夹),也能够目标文件(夹)――>源文件(夹)。下面引见几个最经常使用选项:

  -p0 选项要从以后目次查找目标文件(夹)

  -p1 选项要疏忽掉落第一层目次,从以后目次末尾查找。

  ************************************************************

  在这里以实例说明:

  --- old/modules/pcitable Mon Sep 27 11:03:56 1999

  +++ new/modules/pcitable Tue Dec 19 20:05:41 2000

  假设应用参数 -p0 ,那就表现从以后目次找一个叫做old的文件夹,在它下面寻觅modules下的pcitable文件来履行patch操作。

  假设应用参数 -p1 , 那就表现疏忽第一层目次(即不论old),从以后目次寻觅modules的文件夹,在它下面找pcitable。如许的条件是以后目 录必须为modules地点的目次。而diff补丁文件则可以在任意位置,只需指清晰明了diff补丁文件的门路便可以了。固然,可以用相对门路,也能够用绝 对门路。不外我通俗习惯用相对门路。

  ************************************************************

  -E 选项说明假设发清晰明了空文件,那么就删除它

  -R 选项说明在补丁文件中的“新”文件和“旧”文件现在要交换过去了(实践上就是给新版本打补丁,让它酿成老版本)

  下面联合具体实例来剖析和处理,分为两种类型:为单个文件打补丁和为文件夹内的多个文件打补丁。

  情况:在RedHat 9.0下面以armlinux用户上岸。

  目次树以下:

  |-- bootloader

  |-- debug

  |-- images

  |-- kernel

  |-- program

  |-- rootfiles

  |-- software

  |-- source

  |-- sysapps

  |-- tmp

  |-- tools

  下面在program文件夹下面建立patch文件夹作为试验用,然落伍入patch文件夹。