home *** CD-ROM | disk | FTP | other *** search
/ OpenStep 4.2J / os42j.iso / usr / lib / merge < prev    next >
Text File  |  1997-04-23  |  677b  |  53 lines

  1.  
  2.  
  3. PATH=/bin:/usr/bin
  4. DIFF=/bin/diff
  5. DIFF3=/usr/lib/diff3
  6. p=w
  7. case $1 in
  8. -p)
  9.     p='1,$p'
  10.     shift
  11. esac
  12.  
  13. case $# in
  14. 0|1|2)
  15.     echo >&2 "merge: usage: merge [-p] file1 file2 file3"
  16.     exit 1
  17. esac
  18.  
  19. case $p in
  20. w)
  21.     if test ! -w $1
  22.     then
  23.         echo >&2 "$1 not writeable"
  24.         exit 1
  25.     fi
  26. esac
  27.  
  28. trap 's=$?; rm -f /tmp/d3a$$ /tmp/d3b$$; exit $s' 0
  29. trap exit 1 2 3 13 15
  30. umask 077
  31.  
  32. $DIFF $1 $3 >/tmp/d3a$$
  33. case $? in
  34. 0|1) ;;
  35. *) exit
  36. esac
  37.  
  38. $DIFF $2 $3 >/tmp/d3b$$
  39. case $? in
  40. 0|1) ;;
  41. *) exit
  42. esac
  43.  
  44. {
  45.     $DIFF3 -E /tmp/d3a$$ /tmp/d3b$$ $1 $2 $3 $4 $5
  46.     case $? in
  47.     0) ;;
  48.     1) echo >&2 merge: warning: 1 overlap during merge.;;
  49.     *) echo >&2 merge: warning: $? overlaps during merge.
  50.     esac
  51.     echo $p
  52. } | ed - $1
  53.