ivaneeo's blog

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

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
当两个人同时修改一个公用文件时,diff3就会发挥作用.它比较两个人做出的两套修改内容,创建第3个文件保存并后的输出结果,并且指出双方修改的冲突之处.diff3的语法是:
diff [options] myfile oldfile yourfile
oldfile是派生出myfile和yourfile的共同源文件.
  程序清单6.4 sigrot.1
    #!/bin/bash
    #sigrot.sh
    #Version 1.0
    #Rotate signatures
    #Suitable to be run via cron
    ############################
    sigfile=signature
    
    old=$(cat num)
    let new=$(expr $old+1)

    if [ -f $sigfile.$new ]; then
      cp $sigfile.$new .$sigfile
      echo $new > num
    else
      cp $sigfile.1 .$sigfile
      echo 1 > num
    fi

  程序清单6.5 sigrot.2
    #!/bin/bash
    #sigrot.sh
    #Version 2.0
    #Rotate signatures
    #Suitable to be run via cron
    ############################

    sigfile=signature
    srcdir=$HOME/doc/signatures
    srcfile=$srcdir/$sigfile
    old=$(cat $srcdir/num)
    let new=$(expr $old+1)

    if [ -f $srcfile.$new ]; then
      cp $srcfile.$new $HOME/.$sigfile
      echo $new > $srcdir/num
    else
      cp $srcfile.1 $HOME/.$sigfile
      echo 1 > $srcdir/num
    fi

  程序清单6.6 sigrot.3
    #!/bin/bash
    #sigrot.sh
    #Version 3.0
    #Rotate signatures
    #Suitable to be run via cron
    ############################

    sigfile=signature
    
    old=$(cat num)
    let new=$(expr $old+1)

    if [ -f $sigfile.$new ]; then
      cp $sigfile.$new .$sigfile
      echo $new > num
    else
      cp $sigfile.1 .$sigfile
      echo 1 > num
    fi
    return 0;

diff3在列举hunk的同时给出了生成这些hunk所需的一个或多个命令(仍旧使用ed形式).这些命令如下:
.file:la  该hunk出现在第1行后,但在file中不存在这个hunk,所以如果要依据file生成其他文件,必须加入在第1行后这个hunk.
.file:rc  该hunk由file的中第r行组成,因此在生成其他文件时必须对该行进行指定的修改.
posted on 2005-08-04 17:16 ivaneeo 阅读(269) 评论(0)  编辑  收藏 所属分类: GNU牛力

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


网站导航: