home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / OSK / CMDS / rcs4.lha / rcsmerge.c < prev    next >
Text File  |  1993-03-03  |  6KB  |  104 lines

  1. /*
  2.  *                       rcsmerge operation
  3.  */
  4. #ifndef lint
  5. static char rcsid[]=
  6. "$Header: /arthur/src/local/bin/rcs/src/RCS/rcsmerge.c,v 4.3 87/10/18 10:38:02 narten Exp $ Purdue CS";
  7. #endif
  8. /*****************************************************************************
  9.  *                       join 2 revisions with respect to a third
  10.  *****************************************************************************
  11.  *
  12.  * Copyright (C) 1982 by Walter F. Tichy
  13.  *                       Purdue University
  14.  *                       Computer Science Department
  15.  *                       West Lafayette, IN 47907
  16.  *
  17.  * All rights reserved. No part of this software may be sold or distributed
  18.  * in any form or by any means without the prior written permission of the
  19.  * author.
  20.  * Report problems and direct all inquiries to Tichy@purdue (ARPA net).
  21.  */
  22.  
  23.  
  24. /* $Log:    rcsmerge.c,v $
  25.  * Revision 4.3  87/10/18  10:38:02  narten
  26.  * Updating version numbers. Changes relative to version 1.1 
  27.  * actually relative to 4.1
  28.  * 
  29.  * Revision 1.3  87/09/24  14:00:31  narten
  30.  * Sources now pass through lint (if you ignore printf/sprintf/fprintf 
  31.  * warnings)
  32.  * 
  33.  * Revision 1.2  87/03/27  14:22:36  jenkins
  34.  * Port to suns
  35.  * 
  36.  * Revision 1.1  84/01/23  14:50:36  kcs
  37.  * Initial revision
  38.  * 
  39.  * Revision 4.1  83/03/28  11:14:57  wft
  40.  * Added handling of default branch.
  41.  * 
  42.  * Revision 3.3  82/12/24  15:29:00  wft
  43.  * Added call to catchsig().
  44.  *
  45.  * Revision 3.2  82/12/10  21:32:02  wft
  46.  * Replaced getdelta() with gettree(); improved error messages.
  47.  *
  48.  * Revision 3.1  82/11/28  19:27:44  wft
  49.  * Initial revision.
  50.  *
  51.  */
  52. #include "rcsbase.h"
  53. #ifndef lint
  54. static char rcsbaseid[] = RCSBASE;
  55. #endif
  56.  
  57. extern int  cleanup();              /* cleanup after signals                */
  58. extern char * mktempfile();         /*temporary file name generator         */
  59. extern struct hshentry * genrevs(); /*generate delta numbers                */
  60. extern int  nerror;                 /*counter for errors                    */
  61.  
  62. char *RCSfilename;
  63. char *workfilename;
  64. char * temp1file, * temp2file;
  65.  
  66. char    tmpdir[80];
  67.  
  68. main (argc, argv)
  69. int argc; char **argv;
  70. {
  71.         char * cmdusage;
  72.         char command[NCPPN+revlength+40];
  73.         int  revnums; /* counter for revision numbers given */
  74.         int tostdout;
  75.         char * rev1, * rev2; /*revision numbers*/
  76.         char numericrev[revlength];   /* holds expanded revision number     */
  77.         struct hshentry * gendeltas[hshsize];/*stores deltas to be generated*/
  78.         struct hshentry * target;
  79.  
  80.     cmdusage = getenv("TMPDIR");
  81.     if (cmdusage == NULL) {
  82.         cmdusage = "/dd/tmp";
  83.     }
  84.     strcpy(tmpdir,cmdusage);
  85.     strcat(tmpdir,"/");
  86.  
  87.         catchints();
  88.         cmdid = "rcsmerge";
  89.         cmdusage = "command format:\n    rcsmerge -p -rrev1 -rrev2 file\n    rcsmerge -p -rrev1 file";
  90.         revnums=0;tostdout=false;
  91.  
  92.         while (--argc,++argv, argc>=1 && ((*argv)[0] == '-')) {
  93.                 switch ((*argv)[1]) {
  94.                 case 'p':
  95.                         tostdout=true;
  96.                         /* falls into -r */
  97.                 case 'r':
  98.                         if ((*argv)[2]!='\0') {
  99.                             if (revnums==0) {
  100.                                     rev1= *argv+2; revnums=1;
  101.                             } elif (revnums==1) {
  102.                                     rev2= *argv+2; revnums=2;
  103.                             } else {
  104.                                     faterror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror("tprror