diff and patch

这两个程序是用于生成补丁和打补丁用的. 他们是广泛的使用于各种的
版本控制系统中,一般的软件发布也经常使用他们. 因此, 深入了解他们是非常
重要的. 本文只是一个入门级的导引.详细说明请参照info.

    diff比较两个文本文件, 找到他们的不同之处, 通常是连续的数行不同
[功能] 以行的方式比较文本文件的异同处
      若要比较目录,则会比较相同文件名的文件

[参数]
      -b        忽略空格数目的不同
      -B        忽略空白行
      -y        在两侧显示两个文件
      --left-column    仅当两个文件不同时才显示右侧行,否则只显示左侧行
      --suppress-common-line      只显示两个文件不同的行,否则不显示
      
      -q        只列出两个文件有无差异,并不比较
      -a        强制比较二进制文件
      -c        显示不同之处的前后部分内容
      -r        比较目录时,比较其子目录

[示例]
//只是显示两个文件是否有差异
$diff -q  file1   file2
Files file1 and file2 differ


//比较两个文件并忽略空白字符和空白行,且当文件相同时仅显示左侧文件内容
$diff -bBy  --left-column   file1  file2


//比较两个目录内文件的不同,同时比较录
$diff -r dir1  dir2

 » 相关连接:
Dialog diff/cmp/ df date
diff和patch进行补丁操作
[回复]
下面的操作将根据文件位置,提取源文件的修改部分并创建统一的diff文件file.patch0或file.patch1:

     $ diff -u file.old file.new1 > file.patch0
     $ diff -u old/file new1/file > file.patch1

diff文件(也称补丁文件)通常用于发送程序更新。收到的补丁文件可使用下面的方法更新另一个文件:

     $ patch -p0 file < file.patch0
     $ patch -p1 file < file.patch1

如果有3个版本的源代码,使用diff3来合并效率更高:

     $ diff3 -m file.mine file.old file.yours > file 

 » 相关连接:
Dialog diff/cmp/ df date
diff和patch进行补丁操作
 » 本栏目最新帖:

Powered by PHPWind v6.0 Code © 2003-08