ivaneeo's blog

自由的力量,自由的生活。

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
以前曾提到过,在发布软件补丁时很少(可能从不)使用正规和并排的块格式.但diff产生的上下文(context)或统一(unified)的块格式是创建补丁所采用的格式.为了产生上下文的差异文件(它们称为context diff的原因是它们显示出了有差别的行的上下文内容),可使用diff的-c或-C[num]选项.
  提示:和大多数GNU程序一样,diff也支持长选项,也就是以两个两字符"--"开头,后面跟着更容易记忆的名字的选项,例如,创建一个上下文diff文件的长选项是"--context=[num]".


上下文输出举例
$diff -c hello.c howdy.c
*** hello.c Web Aug 9 21:02:42 2000
--- howdy.c Web Aug 9 21:04:30 2000
*************
*** 1,12 ****
  #include <stdio.h>
  
  int main(void)
  {
!    char msg[ ] = "Hello, Linux programmer!";
  
     puts(msg);
!    printf("Here you are, using diff.\n");

!    return 0;
  }
---  1,13 ---
  #include <stdio.h>
+ #include <stdlib.h>

  int main(void)
  {
!   char msg[] = "Hello, Linux programmer, from howdy.c!");
  
    puts(msg);
!   printf("howdy.c says, `Here you are, using diff.`\n");
!   exit(EXIT_SUCCESS);
  }
$

上下文块的格式采用以下一般形式:
  *** srcfile srcfile_timestamp
  --- dstfile dstfile_timestamp
  ****************
  *** srcfile_line_range ***
    srcfile line
  --- dstfile line_line_range
  dstfile line
  dstfile line...

. + -----向srcfile添加一行以创建dstfile
. - -----从srcfile删除一行以创建dstfile
. ! -----在srcfile改变一行以创建dstfile.srcfile中标记"!"的每一行或一段,在dstfile中相应的每一行或一段也标记"!".

每一块(hunk)都用一长串最多15个星号和下一块(hunk)分隔开来.
posted on 2005-08-04 17:21 ivaneeo 阅读(238) 评论(0)  编辑  收藏 所属分类: GNU牛力

只有注册用户登录后才能发表评论。


网站导航: