home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 22 gnu / 22-gnu.zip / rcs57pc1.zip / bin32 / rcsfreeze.cmd < prev    next >
OS/2 REXX Batch file  |  1996-12-21  |  3KB  |  106 lines

  1. /* REXX: rcsfreeze.cmd */
  2.  
  3. /* Author:  Kai Uwe Rommel <rommel@ars.de>
  4.  * Created: Sun Nov 12 1995
  5.  *
  6.  * $Id: rcsfreeze.cmd,v 1.1 1995/11/12 21:18:10 rommel Exp rommel $
  7.  * $Revision: 1.1 $
  8.  */
  9.  
  10. /*
  11.  * $Log: rcsfreeze.cmd,v $
  12.  * Revision 1.1  1995/11/12 21:18:10  rommel
  13.  * Initial revision
  14.  * 
  15.  */
  16.  
  17. /* This is a rewrite in REXX of the original bourne shell script
  18.  * included with RCS, for use on OS/2 workstations.
  19.  */
  20.  
  21. Call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
  22. Call SysLoadFuncs
  23.  
  24. tab = '09'X
  25.  
  26. now = Left(Date('w'),3)' 'Word(Date('n'),2)' 'Word(Date('n'),1)' ' ||,
  27.  Time('n')' 'Left(Value('TZ',,'OS2ENVIRONMENT'),3)' 'Word(Date('n'),3)
  28.  
  29. If SysFileTree('RCS','dir','DO') = 0 & dir.0 = 1 & FileSpec('n',dir.1) = 'RCS'
  30. Then Do
  31.   rcsdir = 'RCS/'
  32.   ext = ''
  33. End
  34. Else Do
  35.   rcsdir = ''
  36.   ext = ',v'
  37. End
  38.  
  39. versionfile = rcsdir || '.rcsfreeze.ver'
  40. logfile = rcsdir || '.rcsfreeze.log'
  41. tmplogfile = rcsdir || '.rcsfreeze.tmp'
  42.  
  43. If Stream(versionfile,'c','query exists') = ''
  44. Then Do
  45.   Call LineOut versionfile,'0'
  46.   Call Stream versionfile,'c','close'
  47.   Call Stream logfile,'c','open write'
  48.   Call Stream logfile,'c','close'
  49. End
  50.  
  51. versionnumber = LineIn(versionfile)
  52. versionnumber = versionnumber + 1
  53. If LineOut(versionfile,versionnumber,1) \= 0
  54. Then exit
  55. Call Stream versionfile,'c','close'
  56.  
  57. symrev = 'c_'versionnumber
  58. Parse Arg symrevname .
  59. If symrevname = ''
  60. Then symrevname = symrev
  61.  
  62. Say 'rcsfreeze: symbolic revision number computed: 'symrev
  63. Say 'rcsfreeze: symbolic revision number used:     'symrevname
  64. Say 'rcsfreeze: the two differ only when rcsfreeze invoked with argument'
  65. Say 'rcsfreeze: give log message, summarizing changes (end with EOF or single ''.'')'
  66.  
  67. Call SysFileDelete tmplogfile 
  68. Call LineOut tmplogfile,'Version: 'symrevname'('symrev'), Date: 'now
  69. Call LineOut tmplogfile,'-----------'
  70.  
  71. Do Forever
  72.   Parse Pull line
  73.   If line = '.'
  74.   Then Leave
  75.   Call LineOut tmplogfile,tab || line
  76. End
  77.  
  78. Do Until Stream(logfile, 'S') = 'NOTREADY'
  79.   Call LineOut tmplogfile,LineIn(logfile)
  80. End
  81.  
  82. Call Stream tmplogfile,'c','close'
  83. Call Stream logfile,'c','close'
  84. Call SysFileDelete logfile
  85.  
  86. Do Until Stream(tmplogfile, 'S') = 'NOTREADY'
  87.   Call LineOut logfile,LineIn(tmplogfile)
  88. End
  89.  
  90. Call Stream logfile,'c','close'
  91. Call Stream tmplogfile,'c','close'
  92. Call SysFileDelete tmplogfile
  93.  
  94. Call SysFileTree rcsdir'*'ext,'dir','FO'
  95. files = ''
  96.  
  97. Do i=1 To dir.0
  98.   name = FileSpec('n',dir.i)
  99.   If Left(name,1) \= '.'
  100.   Then files = files' 'rcsdir || name
  101. End
  102.  
  103. '@rcs -q -n'symrevname': 'files
  104.  
  105. /* end of rcsfreeze.cmd */
  106.