home *** CD-ROM | disk | FTP | other *** search
/ ProfitPress Mega CDROM2 …eeware (MSDOS)(1992)(Eng) / ProfitPress-MegaCDROM2.B6I / PROG / UTILITY / RCS55DOS.ZIP / MERGE.BAT < prev    next >
Encoding:
DOS Batch File  |  1991-03-13  |  976 b   |  65 lines

  1. @echo off
  2. : merge - three-way file merge
  3. : $Id$
  4.  
  5. set lbl=0
  6. set q=N
  7. set p=N
  8.  
  9. :  any arguments  ??
  10. if not %1. == . goto HASARGS
  11. echo Usage: merge [-p] [-q] [-L label1 [-L label3]] file1 file2 file3
  12. goto EXIT
  13.  
  14. :HASARGS
  15. if not %1. == -q. goto NOTQUIET
  16. set q=Y
  17. shift
  18.  
  19. :NOTQUIET
  20. if not %1. == -p. goto NOTP
  21. set p=Y
  22. shift
  23.  
  24. :NOTP
  25. if not %1. == -L. goto NOLABELS
  26. shift
  27. if %lbl% == 0 goto LABEL1
  28. if %lbl% == 1 goto LABEL3
  29. echo merge: too many labels given
  30. goto EXIT
  31.  
  32. :LABEL1
  33. set l1=%1
  34. set lbl=1
  35. shift
  36. goto NOTP
  37.  
  38. :LABEL3
  39. set l3=%1
  40. set lbl=3
  41. shift
  42. goto NOTP
  43.  
  44. :NOLABELS
  45. if %l3%. == . set l3=%3
  46. if %l1%. == . set l1=%1
  47.  
  48. diff3 -am -L %l1% -L %l3% %1 %2 %3 >merge.out
  49. if %q% == Y goto NOSAY
  50. if errorlevel 2 goto EXIT
  51. if errorlevel 1 echo merge: overlaps during merge
  52.  
  53. :NOSAY
  54. if errorlevel 1 goto EXIT
  55. if not %p% == N type merge.out
  56. if %p% == N copy merge.out %1 > nul
  57. del merge.out
  58.  
  59. :EXIT
  60. set lbl=
  61. set q=
  62. set p=
  63. set l1=
  64. set l3=
  65.