瀏覽代碼

upgrade to 1.12.6 together with an updated RSE patch

Ralf S. Engelschall 21 年之前
父節點
當前提交
0045eb77ee
共有 2 個文件被更改,包括 192 次插入189 次删除
  1. 190 187
      cvs/cvs.patch.rse
  2. 2 2
      cvs/cvs.spec

+ 190 - 187
cvs/cvs.patch.rse

@@ -3,7 +3,7 @@ Index: src/README.RSE
 RCS file: src/README.RSE
 diff -N src/README.RSE
 --- /dev/null	1 Jan 1970 00:00:00 -0000
-+++ src/README.RSE	27 Oct 2003 19:19:10 -0000
++++ src/README.RSE	17 Feb 2004 17:02:05 -0000
 @@ -0,0 +1,310 @@
 +
 +  CVS RSE Patches
@@ -318,10 +318,10 @@ diff -N src/README.RSE
 Index: src/add.c
 ===================================================================
 RCS file: /e/ossp/pkg/tool/cvs/cvs/cvs/src/add.c,v
-retrieving revision 1.1.1.9
-diff -u -d -r1.1.1.9 add.c
---- src/add.c	25 Nov 2003 20:51:25 -0000	1.1.1.9
-+++ src/add.c	5 Dec 2003 20:22:14 -0000
+retrieving revision 1.1.1.10
+diff -u -d -r1.1.1.10 add.c
+--- src/add.c	20 Feb 2004 21:23:02 -0000	1.1.1.10
++++ src/add.c	16 Mar 2004 15:42:15 -0000
 @@ -740,6 +740,9 @@
  	li->type = T_TITLE;
  	li->tag = xstrdup (tag);
@@ -329,16 +329,16 @@ diff -u -d -r1.1.1.9 add.c
 +#ifdef RSE_PATCH_EXTRAPERCENT
 +	li->date = NULL;
 +#endif
- 	p->data = (char *) li;
+ 	p->data = li;
  	(void) addnode (ulist, p);
  	Update_Logfile (rcsdir, message, (FILE *) NULL, ulist);
 Index: src/admin.c
 ===================================================================
 RCS file: /e/ossp/pkg/tool/cvs/cvs/cvs/src/admin.c,v
-retrieving revision 1.1.1.11
-diff -u -d -r1.1.1.11 admin.c
---- src/admin.c	9 Dec 2003 19:38:36 -0000	1.1.1.11
-+++ src/admin.c	11 Dec 2003 21:04:09 -0000
+retrieving revision 1.1.1.12
+diff -u -d -r1.1.1.12 admin.c
+--- src/admin.c	20 Feb 2004 21:23:02 -0000	1.1.1.12
++++ src/admin.c	16 Mar 2004 15:41:47 -0000
 @@ -137,6 +137,160 @@
      dat->av[dat->ac++] = newelt;
  }
@@ -524,11 +524,11 @@ diff -u -d -r1.1.1.11 admin.c
 Index: src/buffer.c
 ===================================================================
 RCS file: /e/ossp/pkg/tool/cvs/cvs/cvs/src/buffer.c,v
-retrieving revision 1.1.1.6
-diff -u -d -r1.1.1.6 buffer.c
---- src/buffer.c	4 Oct 2003 15:46:32 -0000	1.1.1.6
-+++ src/buffer.c	27 Oct 2003 19:07:22 -0000
-@@ -1318,7 +1318,7 @@
+retrieving revision 1.1.1.7
+diff -u -d -r1.1.1.7 buffer.c
+--- src/buffer.c	3 Mar 2004 13:53:04 -0000	1.1.1.7
++++ src/buffer.c	16 Mar 2004 15:41:47 -0000
+@@ -1340,7 +1340,7 @@
      int closefp = 1;
  
      /* Must be a pipe or a socket.  What could go wrong? */
@@ -615,11 +615,11 @@ diff -u -d -r1.1.1.3 checkin.c
 Index: src/client.c
 ===================================================================
 RCS file: /e/ossp/pkg/tool/cvs/cvs/cvs/src/client.c,v
-retrieving revision 1.1.1.12
-diff -u -d -r1.1.1.12 client.c
---- src/client.c	25 Nov 2003 20:51:59 -0000	1.1.1.12
-+++ src/client.c	5 Dec 2003 20:22:14 -0000
-@@ -53,6 +53,9 @@
+retrieving revision 1.1.1.13
+diff -u -d -r1.1.1.13 client.c
+--- src/client.c	25 Feb 2004 07:22:43 -0000	1.1.1.13
++++ src/client.c	16 Mar 2004 15:41:47 -0000
+@@ -54,6 +54,9 @@
  int status (int argc, char **argv);
  int tag (int argc, char **argv);
  int update (int argc, char **argv);
@@ -629,7 +629,7 @@ diff -u -d -r1.1.1.12 client.c
  
  /* All the response handling functions.  */
  static void handle_ok (char *, int);
-@@ -196,14 +199,34 @@
+@@ -197,14 +200,34 @@
  			 : Name_Root ((char *) NULL, (char *) NULL));
  	}
  
@@ -664,7 +664,7 @@ diff -u -d -r1.1.1.12 client.c
  	free (this_root);
      }
      
-@@ -2152,6 +2175,9 @@
+@@ -2137,6 +2160,9 @@
      /* Add a directory name to the list of those sent to the
         server. */
      if (update_dir && (*update_dir != '\0')
@@ -677,11 +677,11 @@ diff -u -d -r1.1.1.12 client.c
 Index: src/commit.c
 ===================================================================
 RCS file: /e/ossp/pkg/tool/cvs/cvs/cvs/src/commit.c,v
-retrieving revision 1.1.1.13
-diff -u -d -r1.1.1.13 commit.c
---- src/commit.c	9 Dec 2003 19:38:58 -0000	1.1.1.13
-+++ src/commit.c	11 Dec 2003 21:04:10 -0000
-@@ -291,6 +291,9 @@
+retrieving revision 1.1.1.14
+diff -u -d -r1.1.1.14 commit.c
+--- src/commit.c	24 Feb 2004 16:44:01 -0000	1.1.1.14
++++ src/commit.c	16 Mar 2004 15:41:47 -0000
+@@ -292,6 +292,9 @@
      data->type = status;
      data->tag = xstrdup (vers->tag);
      data->rev_old = data->rev_new = NULL;
@@ -706,9 +706,9 @@ diff -u -d -r1.1.1.13 commit.c
 +	    li->date = xstrdup (vers->ts_user);
 +#endif
  	    li->rev_new = NULL;
- 	    p->data = (char *) li;
+ 	    p->data = li;
  	    (void) addnode (ulist, p);
-@@ -2187,6 +2199,10 @@
+@@ -2261,6 +2273,10 @@
  	free (li->rev_old);
      if (li->rev_new)
  	free (li->rev_new);
@@ -792,10 +792,10 @@ diff -u -d -r1.1.1.7 create_adm.c
 Index: src/cvs.h
 ===================================================================
 RCS file: /e/ossp/pkg/tool/cvs/cvs/cvs/src/cvs.h,v
-retrieving revision 1.1.1.12
-diff -u -d -r1.1.1.12 cvs.h
---- src/cvs.h	8 Dec 2003 19:43:00 -0000	1.1.1.12
-+++ src/cvs.h	11 Dec 2003 21:04:10 -0000
+retrieving revision 1.1.1.13
+diff -u -d -r1.1.1.13 cvs.h
+--- src/cvs.h	24 Feb 2004 16:44:01 -0000	1.1.1.13
++++ src/cvs.h	16 Mar 2004 15:41:48 -0000
 @@ -7,6 +7,45 @@
   */
  
@@ -842,7 +842,7 @@ diff -u -d -r1.1.1.12 cvs.h
   * basic information used in all source files
   *
   */
-@@ -166,6 +205,33 @@
+@@ -170,6 +209,33 @@
  #define CVSROOTADM_WRITERS	"writers"
  #define CVSROOTADM_PASSWD	"passwd"
  #define CVSROOTADM_CONFIG	"config"
@@ -876,7 +876,7 @@ diff -u -d -r1.1.1.12 cvs.h
  
  #define CVSNULLREPOS		"Emptydir"	/* an empty directory */
  
-@@ -442,6 +508,27 @@
+@@ -449,6 +515,27 @@
  void root_allow_free (void);
  int root_allow_ok (char *);
  
@@ -904,7 +904,7 @@ diff -u -d -r1.1.1.12 cvs.h
  char *gca (const char *rev1, const char *rev2);
  void check_numeric (const char *, int, char **);
  char *getcaller (void);
-@@ -559,6 +646,10 @@
+@@ -565,6 +652,10 @@
  void expand_wild (int argc, char **argv, 
                    int *pargc, char ***pargv);
  
@@ -915,7 +915,7 @@ diff -u -d -r1.1.1.12 cvs.h
  #ifdef SERVER_SUPPORT
  int cvs_casecmp (const char *, const char *);
  int fopen_case (char *, char *, FILE **, char **);
-@@ -806,6 +897,9 @@
+@@ -841,6 +932,9 @@
  				   NULL for add or import */
    char *rev_new;		/* rev number after a commit/modify,
  				   add, or import, NULL for remove */
@@ -925,7 +925,7 @@ diff -u -d -r1.1.1.12 cvs.h
  };
  
  /* Wrappers.  */
-@@ -845,6 +939,13 @@
+@@ -880,6 +974,13 @@
  int unedit (int argc, char **argv);
  int editors (int argc, char **argv);
  int watchers (int argc, char **argv);
@@ -939,7 +939,7 @@ diff -u -d -r1.1.1.12 cvs.h
  int annotate (int argc, char **argv);
  int add (int argc, char **argv);
  int admin (int argc, char **argv);
-@@ -874,6 +975,9 @@
+@@ -909,6 +1010,9 @@
  int cvsstatus (int argc, char **argv);
  int cvstag (int argc, char **argv);
  int version (int argc, char **argv);
@@ -1441,10 +1441,10 @@ diff -u -d -r1.1.1.10 diff.c
 Index: src/hash.c
 ===================================================================
 RCS file: /e/ossp/pkg/tool/cvs/cvs/cvs/src/hash.c,v
-retrieving revision 1.1.1.5
-diff -u -d -r1.1.1.5 hash.c
---- src/hash.c	4 Oct 2003 14:36:03 -0000	1.1.1.5
-+++ src/hash.c	27 Oct 2003 19:07:23 -0000
+retrieving revision 1.1.1.6
+diff -u -d -r1.1.1.6 hash.c
+--- src/hash.c	20 Feb 2004 21:23:02 -0000	1.1.1.6
++++ src/hash.c	16 Mar 2004 15:41:48 -0000
 @@ -23,17 +23,25 @@
  hashp (const char *key)
  {
@@ -1521,10 +1521,10 @@ diff -u -d -r1.1.1.9 history.c
 Index: src/import.c
 ===================================================================
 RCS file: /e/ossp/pkg/tool/cvs/cvs/cvs/src/import.c,v
-retrieving revision 1.1.1.7
-diff -u -d -r1.1.1.7 import.c
---- src/import.c	4 Oct 2003 21:11:55 -0000	1.1.1.7
-+++ src/import.c	27 Oct 2003 19:27:36 -0000
+retrieving revision 1.1.1.8
+diff -u -d -r1.1.1.8 import.c
+--- src/import.c	4 Mar 2004 03:00:25 -0000	1.1.1.8
++++ src/import.c	16 Mar 2004 15:42:26 -0000
 @@ -56,6 +56,141 @@
      NULL
  };
@@ -1667,7 +1667,7 @@ diff -u -d -r1.1.1.7 import.c
  int
  import (int argc, char **argv)
  {
-@@ -287,6 +422,12 @@
+@@ -302,6 +437,12 @@
  	error (1, 0, "attempt to import the repository");
      }
  
@@ -1680,7 +1680,7 @@ diff -u -d -r1.1.1.7 import.c
      /*
       * Make all newly created directories writable.  Should really use a more
       * sophisticated security mechanism here.
-@@ -326,7 +467,11 @@
+@@ -341,7 +482,11 @@
  			       "Use the following command to help the merge:");
  	    cvs_output_tagged ("newline", NULL);
  	    cvs_output_tagged ("newline", NULL);
@@ -1692,7 +1692,7 @@ diff -u -d -r1.1.1.7 import.c
  	    cvs_output_tagged ("text", program_name);
  	    if (CVSroot_cmdline != NULL)
  	    {
-@@ -353,7 +498,11 @@
+@@ -368,7 +513,11 @@
  			conflicts);
  	(void) fprintf (logfp,
  			"Use the following command to help the merge:\n\n");
@@ -1704,17 +1704,17 @@ diff -u -d -r1.1.1.7 import.c
  	(void) fprintf (logfp, "-j%s:yesterday -j%s %s\n\n",
  			argv[1], argv[1], argv[0]);
      }
-@@ -376,6 +525,9 @@
+@@ -391,6 +540,9 @@
      li->type = T_TITLE;
      li->tag = xstrdup (vbranch);
      li->rev_old = li->rev_new = NULL;
 +#ifdef RSE_PATCH_EXTRAPERCENT
 +    li->date = NULL;
 +#endif
-     p->data = (char *) li;
+     p->data = li;
      (void) addnode (ulist, p);
      Update_Logfile (repository, message, logfp, ulist);
-@@ -652,7 +804,11 @@
+@@ -668,7 +820,11 @@
  	     */
  	    if (add_tags (vers->srcfile, vfile, vtag, targc, targv))
  		retval = 1;
@@ -2018,61 +2018,66 @@ diff -N src/list.c
 Index: src/logmsg.c
 ===================================================================
 RCS file: /e/ossp/pkg/tool/cvs/cvs/cvs/src/logmsg.c,v
-retrieving revision 1.1.1.8
-diff -u -d -r1.1.1.8 logmsg.c
---- src/logmsg.c	29 Aug 2003 17:02:18 -0000	1.1.1.8
-+++ src/logmsg.c	27 Oct 2003 19:07:24 -0000
-@@ -646,6 +646,42 @@
- 	    {
- 		switch (*c)
- 		{
+retrieving revision 1.1.1.9
+diff -u -d -r1.1.1.9 logmsg.c
+--- src/logmsg.c	20 Feb 2004 21:23:03 -0000	1.1.1.9
++++ src/logmsg.c	13 Apr 2004 14:11:44 -0000
+@@ -616,6 +616,9 @@
+     char *arg = NULL;
+     char *f, *d;
+     size_t doff;
 +#ifdef RSE_PATCH_EXTRAPERCENT
-+		case 'o': {
-+                    char T[2];
-+		    str_list = xrealloc (str_list, (strlen (str_list) + 1 + 1));
-+                    switch (li->type) {
-+                        case T_ADDED:    T[0] = 'A'; break;
-+                        case T_MODIFIED: T[0] = 'M'; break;
-+                        case T_REMOVED:  T[0] = 'R'; break;
-+                        default:         T[0] = '?'; break;
-+                    }
-+                    T[1] = '\0';
-+		    (void) strcat (str_list, T);
-+		    break;
++    char buf[64];
++#endif
+ 
+     if (p->data == NULL) return 1;
+ 
+@@ -626,6 +629,37 @@
+     {
+ 	switch (*f++)
+ 	{
++#ifdef RSE_PATCH_EXTRAPERCENT
++       	    case 'o': {
++		li = p->data;
++                switch (li->type) {
++                    case T_ADDED:    buf[0] = 'A'; break;
++                    case T_MODIFIED: buf[0] = 'M'; break;
++                    case T_REMOVED:  buf[0] = 'R'; break;
++                    default:         buf[0] = '?'; break;
 +                }
-+		case 't':
-+		    str_list =
-+			xrealloc (str_list,
-+				  (strlen (str_list)
-+				   + (li->tag ? strlen (li->tag) : 0)
-+				   + 10)
-+				  );
-+		    (void) strcat (str_list, (li->tag ? li->tag : ""));
-+		    break;
-+		case 'd': {
-+            time_t t;
-+            if (li->date != NULL) {
-+                t = get_date(li->date, NULL);
-+                if (t != ((time_t)-1)) {
-+                    t += 1; /* re-adjust because of fudge */
-+                    str_list = xrealloc (str_list, (strlen(str_list)+20));
-+                    sprintf(str_list+strlen(str_list), "%ld", (long)t);
++                buf[1] = '\0';
++                arg = buf;
++       	        break;
++            }
++       	    case 't': {
++                li = p->data;
++                arg = (li->tag ? li->tag : "");
++       	        break;
++            }
++       	    case 'd': {
++                time_t t;
++                li = p->data;
++                if (li->date != NULL) {
++                    t = get_date(li->date, NULL);
++                    if (t != ((time_t)-1)) {
++                        t += 1; /* re-adjust because of fudge */
++                        sprintf(buf, "%ld", (long)t);
++                    }
 +                }
++                break;
 +            }
-+            break;
-+	    }
 +#endif
- 		case 's':
- 		    str_list =
- 			xrealloc (str_list,
+ 	    case 's':
+ 		arg = p->key;
+ 		break;
 Index: src/main.c
 ===================================================================
 RCS file: /e/ossp/pkg/tool/cvs/cvs/cvs/src/main.c,v
-retrieving revision 1.1.1.11
-diff -u -d -r1.1.1.11 main.c
---- src/main.c	25 Nov 2003 16:11:47 -0000	1.1.1.11
-+++ src/main.c	5 Dec 2003 20:22:15 -0000
-@@ -51,6 +51,11 @@
+retrieving revision 1.1.1.12
+diff -u -d -r1.1.1.12 main.c
+--- src/main.c	18 Feb 2004 19:24:19 -0000	1.1.1.12
++++ src/main.c	13 Apr 2004 14:40:03 -0000
+@@ -54,6 +54,11 @@
  
  mode_t cvsumask = UMASK_DFLT;
  
@@ -2084,7 +2089,7 @@ diff -u -d -r1.1.1.11 main.c
  char *CurDir;
  
  /*
-@@ -125,11 +130,17 @@
+@@ -128,11 +133,17 @@
      { "login",    "logon",    "lgn",       login,     0 },
      { "logout",   NULL,       NULL,        logout,    0 },
  #endif /* AUTH_CLIENT_SUPPORT */
@@ -2102,7 +2107,7 @@ diff -u -d -r1.1.1.11 main.c
      { "release",  "re",       "rel",       release,   0 },
      { "remove",   "rm",       "delete",    cvsremove, CVS_CMD_MODIFIES_REPOSITORY | CVS_CMD_USES_WORK_DIR },
      { "rlog",     "rl",       NULL,        cvslog,    0 },
-@@ -144,9 +155,53 @@
+@@ -147,9 +158,53 @@
      { "version",  "ve",       "ver",       version,   0 },
      { "watch",    NULL,       NULL,        watch,     CVS_CMD_MODIFIES_REPOSITORY | CVS_CMD_USES_WORK_DIR },
      { "watchers", NULL,       NULL,        watchers,  CVS_CMD_USES_WORK_DIR },
@@ -2140,7 +2145,7 @@ diff -u -d -r1.1.1.11 main.c
 +    }
 +
 +    /* execute the command */
-+    cmd = expand_path(argv[0], command_name, 0);
++    cmd = expand_path(argv[0], command_name, 0, 0);
 +    run_setup(cmd);
 +    for (i = 1; i < argc; i++)
 +        run_arg(argv[i]);
@@ -2156,7 +2161,7 @@ diff -u -d -r1.1.1.11 main.c
  static const char *const usg[] =
  {
      /* CVS usage messages never have followed the GNU convention of
-@@ -187,9 +242,13 @@
+@@ -190,9 +245,13 @@
         paragraph in ../cvs.spec without assuming the reader knows what
         version control means.  */
  
@@ -2170,7 +2175,7 @@ diff -u -d -r1.1.1.11 main.c
      NULL,
  };
  
-@@ -216,11 +275,17 @@
+@@ -219,11 +278,17 @@
      "        login        Prompt for password for authenticating server\n",
      "        logout       Removes entry in .cvspass for remote repository\n",
  #endif /* AUTH_CLIENT_SUPPORT */
@@ -2188,7 +2193,7 @@ diff -u -d -r1.1.1.11 main.c
      "        release      Indicate that a Module is no longer in use\n",
      "        remove       Remove an entry from the repository\n",
      "        rlog         Print out history information for a module\n",
-@@ -235,6 +300,9 @@
+@@ -238,6 +303,9 @@
      "        version      Show current CVS version(s)\n",
      "        watch        Set watches\n",
      "        watchers     See who is watching a file\n",
@@ -2198,7 +2203,7 @@ diff -u -d -r1.1.1.11 main.c
      "(Specify the --help option for a list of other help options)\n",
      NULL,
  };
-@@ -264,6 +332,10 @@
+@@ -267,6 +335,10 @@
  #endif
      "    -a           Authenticate all net traffic.\n",
  #endif
@@ -2209,7 +2214,7 @@ diff -u -d -r1.1.1.11 main.c
      "    -s VAR=VAL   Set CVS user variable.\n",
      "(Specify the --help option for a list of other help options)\n",
      NULL
-@@ -331,6 +403,20 @@
+@@ -334,6 +406,20 @@
  	if (strcmp (cmd_name, cm->fullname) == 0)
  	    break;
      }
@@ -2230,7 +2235,7 @@ diff -u -d -r1.1.1.11 main.c
      if (!cm->fullname)
  	error (1, 0, "unknown command: %s", cmd_name);
      return cm->attr;
-@@ -419,11 +505,30 @@
+@@ -422,11 +508,30 @@
      int free_CVSroot = 0;
      int free_Editor = 0;
      int free_Tmpdir = 0;
@@ -2261,7 +2266,7 @@ diff -u -d -r1.1.1.11 main.c
      static struct option long_options[] =
      {
          {"help", 0, NULL, 'H'},
-@@ -432,6 +537,9 @@
+@@ -435,6 +540,9 @@
  	{"help-synonyms", 0, NULL, 2},
  	{"help-options", 0, NULL, 4},
  	{"allow-root", required_argument, NULL, 3},
@@ -2271,7 +2276,7 @@ diff -u -d -r1.1.1.11 main.c
          {0, 0, 0, 0}
      };
      /* `getopt_long' stores the option index here, but right now we
-@@ -496,6 +604,10 @@
+@@ -499,6 +607,10 @@
  	readonlyfs = 1;
  	logoff = 1;
      }
@@ -2282,7 +2287,7 @@ diff -u -d -r1.1.1.11 main.c
  
      /* Set this to 0 to force getopt initialization.  getopt() sets
         this to 1 internally.  */
-@@ -515,12 +627,63 @@
+@@ -518,12 +630,63 @@
  	    use_cvsrc = 0;
      }
  
@@ -2346,7 +2351,7 @@ diff -u -d -r1.1.1.11 main.c
      optind = 0;
      opterr = 1;
  
-@@ -546,6 +709,17 @@
+@@ -549,6 +712,17 @@
  		/* --allow-root */
  		root_allow_add (optarg);
  		break;
@@ -2364,7 +2369,7 @@ diff -u -d -r1.1.1.11 main.c
  	    case 'Q':
  		really_quiet = 1;
  		/* FALL THROUGH */
-@@ -605,10 +779,34 @@
+@@ -608,10 +782,34 @@
  	    case 'd':
  		if (CVSroot_cmdline != NULL)
  		    free (CVSroot_cmdline);
@@ -2399,7 +2404,7 @@ diff -u -d -r1.1.1.11 main.c
  		    free_CVSroot = 0;
  		}
  		CVSroot = CVSroot_cmdline;
-@@ -657,6 +855,28 @@
+@@ -660,6 +858,28 @@
                     We will issue an error later if stream
                     authentication is not supported.  */
  		break;
@@ -2428,7 +2433,7 @@ diff -u -d -r1.1.1.11 main.c
  	    case '?':
  	    default:
                  usage (usg);
-@@ -674,6 +894,28 @@
+@@ -677,6 +897,28 @@
  Using this option to access a repository which some users write to may\n\
  cause intermittent sandbox corruption.");
      }
@@ -2457,7 +2462,7 @@ diff -u -d -r1.1.1.11 main.c
  
      /* Look up the command name. */
  
-@@ -696,6 +938,10 @@
+@@ -699,6 +941,10 @@
      else
  	command_name = cm->fullname;	/* Global pointer for later use */
  
@@ -2468,7 +2473,7 @@ diff -u -d -r1.1.1.11 main.c
      if (help)
      {
  	argc = -1;		/* some functions only check for this */
-@@ -723,6 +969,71 @@
+@@ -726,6 +972,71 @@
  		       CVSUMASK_ENV, cp);
  	}
  
@@ -2540,7 +2545,7 @@ diff -u -d -r1.1.1.11 main.c
  #ifdef SERVER_SUPPORT
  
  # ifdef HAVE_KERBEROS
-@@ -739,6 +1050,21 @@
+@@ -742,6 +1053,21 @@
  	}
  # endif /* HAVE_KERBEROS */
  
@@ -2562,7 +2567,7 @@ diff -u -d -r1.1.1.11 main.c
  
  # if defined (AUTH_SERVER_SUPPORT) || defined (HAVE_GSSAPI)
  	if (strcmp (command_name, "pserver") == 0)
-@@ -763,6 +1089,10 @@
+@@ -766,6 +1092,10 @@
  
  #endif /* SERVER_SUPPORT */
  
@@ -2573,7 +2578,7 @@ diff -u -d -r1.1.1.11 main.c
  
  #ifdef SERVER_SUPPORT
  	if (server_active)
-@@ -825,8 +1155,12 @@
+@@ -828,8 +1158,12 @@
  	       in server mode, since the client will send the repository
  	       directory after the connection is made. */
  
@@ -2586,7 +2591,7 @@ diff -u -d -r1.1.1.11 main.c
  	{
  	    char *CVSADM_Root;
  	    
-@@ -882,6 +1216,54 @@
+@@ -885,6 +1219,54 @@
  		error (1, 0,
  		       "CVS/Root file (if any).");
  	    }
@@ -2641,7 +2646,7 @@ diff -u -d -r1.1.1.11 main.c
  	}
  
  	/* Here begins the big loop over unique cvsroot values.  We
-@@ -914,6 +1296,9 @@
+@@ -917,6 +1299,9 @@
  	   end of things.  */
  
  	while (
@@ -2651,7 +2656,7 @@ diff -u -d -r1.1.1.11 main.c
  #ifdef SERVER_SUPPORT
  	       server_active ||
  #endif
-@@ -925,8 +1310,12 @@
+@@ -928,8 +1313,12 @@
  	       in server mode, since the client will send the repository
  	       directory after the connection is made. */
  
@@ -2664,7 +2669,7 @@ diff -u -d -r1.1.1.11 main.c
  	    {
  		/* Now we're 100% sure that we have a valid CVSROOT
  		   variable.  Parse it to see if we're supposed to do
-@@ -959,7 +1348,12 @@
+@@ -962,7 +1351,12 @@
  		    {
  			save_errno = errno;
  			/* If this is "cvs init", the root need not exist yet.  */
@@ -2677,7 +2682,7 @@ diff -u -d -r1.1.1.11 main.c
  			{
  			    error (1, save_errno, "%s", path);
  			}
-@@ -995,6 +1389,9 @@
+@@ -998,6 +1392,9 @@
  	       read_cvsrc and other such places or vice versa.  That sort
  	       of thing probably needs more thought.  */
  	    if (1
@@ -2687,14 +2692,14 @@ diff -u -d -r1.1.1.11 main.c
  #ifdef SERVER_SUPPORT
  		&& !server_active
  #endif
-@@ -1025,7 +1422,31 @@
+@@ -1028,7 +1425,31 @@
  	    }
  #endif
  
 +#ifdef RSE_PATCH_PROLOGEPILOG
 +        if (cvs_prolog != NULL) {
 +            char *cmd;
-+            cmd = expand_path(cvs_prolog, "prolog", 0);
++            cmd = expand_path(cvs_prolog, "prolog", 0, 0);
 +            run_setup(cmd);
 +            run_arg("prolog");
 +            run_arg(command_name);
@@ -2719,17 +2724,17 @@ diff -u -d -r1.1.1.11 main.c
  #ifdef SERVER_SUPPORT
  		/* Don't worry about lock_cleanup_setup when the server is
  		 * active since we can only go through this loop once in that
-@@ -1034,6 +1455,9 @@
- 		server_active ||
+@@ -1040,6 +1461,9 @@
+ 		!current_parsed_root->isremote &&
  #endif
- 		!current_parsed_root->isremote && !lock_cleanup_setup)
+ 		!lock_cleanup_setup)
 +#if defined(RSE_PATCH_CVSROOT) || defined(RSE_PATCH_CUSTOMCMD)
 +            )
 +#endif
  	    {
  		/* Set up to clean up any locks we might create on exit.  */
  		cleanup_register (Lock_Cleanup);
-@@ -1042,6 +1466,27 @@
+@@ -1048,6 +1472,27 @@
  
  	    /* Call our worker function.  */
  	    err = (*(cm->func)) (argc, argv);
@@ -2737,7 +2742,7 @@ diff -u -d -r1.1.1.11 main.c
 +#ifdef RSE_PATCH_PROLOGEPILOG
 +    if (cvs_epilog != NULL) {
 +        char *cmd;
-+        cmd = expand_path(cvs_epilog, "epilog", 0);
++        cmd = expand_path(cvs_epilog, "epilog", 0, 0);
 +        run_setup(cmd);
 +        run_arg("epilog");
 +        run_arg(command_name);
@@ -2757,7 +2762,7 @@ diff -u -d -r1.1.1.11 main.c
  	
  	    /* Mark this root directory as done.  When the server is
                 active, current_root will be NULL -- don't try and
-@@ -1060,12 +1505,21 @@
+@@ -1066,12 +1511,21 @@
  	    dellist (&root_directories);
  #endif
  
@@ -2782,11 +2787,11 @@ diff -u -d -r1.1.1.11 main.c
 Index: src/mkmodules.c
 ===================================================================
 RCS file: /e/ossp/pkg/tool/cvs/cvs/cvs/src/mkmodules.c,v
-retrieving revision 1.1.1.7
-diff -u -d -r1.1.1.7 mkmodules.c
---- src/mkmodules.c	8 Oct 2003 21:37:21 -0000	1.1.1.7
-+++ src/mkmodules.c	27 Oct 2003 19:20:05 -0000
-@@ -164,6 +164,48 @@
+retrieving revision 1.1.1.8
+diff -u -d -r1.1.1.8 mkmodules.c
+--- src/mkmodules.c	18 Feb 2004 19:24:19 -0000	1.1.1.8
++++ src/mkmodules.c	16 Mar 2004 15:41:49 -0000
+@@ -206,6 +206,48 @@
      NULL
  };
  
@@ -2835,7 +2840,7 @@ diff -u -d -r1.1.1.7 mkmodules.c
  static const char *const checkoutlist_contents[] = {
      "# The \"checkoutlist\" file is used to support additional version controlled\n",
      "# administrative files in $CVSROOT/CVSROOT, such as template files.\n",
-@@ -285,6 +327,17 @@
+@@ -332,6 +374,17 @@
      "# repositories.  Set it to `never' (the previous CVS behavior) to prevent\n",
      "# verifymsg scripts from changing the log message.\n",
      "#RereadLogAfterVerify=always\n",
@@ -2853,7 +2858,7 @@ diff -u -d -r1.1.1.7 mkmodules.c
      "\n",
      "# Set `UserAdminOptions' to the list of `cvs admin' commands (options)\n",
      "# that users not in the `cvsadmin' group are allowed to run.  This\n",
-@@ -314,6 +367,16 @@
+@@ -368,6 +421,16 @@
      {CVSROOTADM_TAGINFO,
  	"a %s file can be used to configure 'cvs tag' checking",
  	taginfo_contents},
@@ -2873,10 +2878,10 @@ diff -u -d -r1.1.1.7 mkmodules.c
 Index: src/parseinfo.c
 ===================================================================
 RCS file: /e/ossp/pkg/tool/cvs/cvs/cvs/src/parseinfo.c,v
-retrieving revision 1.1.1.9
-diff -u -d -r1.1.1.9 parseinfo.c
---- src/parseinfo.c	19 Aug 2003 12:20:48 -0000	1.1.1.9
-+++ src/parseinfo.c	27 Oct 2003 19:19:25 -0000
+retrieving revision 1.1.1.10
+diff -u -d -r1.1.1.10 parseinfo.c
+--- src/parseinfo.c	18 Feb 2004 19:24:20 -0000	1.1.1.10
++++ src/parseinfo.c	16 Mar 2004 15:41:49 -0000
 @@ -10,6 +10,9 @@
  #include "getline.h"
  
@@ -2887,7 +2892,7 @@ diff -u -d -r1.1.1.9 parseinfo.c
  
  /*
   * Parse the INFOFILE file for the specified REPOSITORY.  Invoke CALLPROC for
-@@ -380,7 +383,24 @@
+@@ -387,7 +390,24 @@
  	{
  	    if (lock_dir != NULL)
  		free (lock_dir);
@@ -2912,7 +2917,7 @@ diff -u -d -r1.1.1.9 parseinfo.c
  	    /* Could try some validity checking, like whether we can
  	       opendir it or something, but I don't see any particular
  	       reason to do that now rather than waiting until lock.c.  */
-@@ -402,6 +422,19 @@
+@@ -409,6 +429,19 @@
  	    else if (strcmp (p, "stat") == 0)
  	      RereadLogAfterVerify = LOGMSG_REREAD_STAT;
  	}
@@ -2932,7 +2937,7 @@ diff -u -d -r1.1.1.9 parseinfo.c
  	else if (strcmp (line, "UserAdminOptions") == 0)
  	{
  	    UserAdminOptions = xmalloc(strlen(p) + 1);
-@@ -420,9 +453,11 @@
+@@ -441,9 +474,11 @@
  	       adding new keywords to your CVSROOT/config file is not
  	       particularly recommended unless you are planning on using
  	       the new features.  */
@@ -2966,10 +2971,10 @@ diff -u -d -r1.1.1.7 repos.c
 Index: src/root.c
 ===================================================================
 RCS file: /e/ossp/pkg/tool/cvs/cvs/cvs/src/root.c,v
-retrieving revision 1.1.1.10
-diff -u -d -r1.1.1.10 root.c
---- src/root.c	25 Nov 2003 16:11:50 -0000	1.1.1.10
-+++ src/root.c	5 Dec 2003 20:22:15 -0000
+retrieving revision 1.1.1.11
+diff -u -d -r1.1.1.11 root.c
+--- src/root.c	24 Feb 2004 16:44:01 -0000	1.1.1.11
++++ src/root.c	13 Apr 2004 14:40:24 -0000
 @@ -125,6 +125,9 @@
      /* allocate space to return and fill it in */
      strip_trailing_slashes (root);
@@ -3067,7 +3072,7 @@ diff -u -d -r1.1.1.10 root.c
  
  /* This global variable holds the global -d option.  It is NULL if -d
     was not used, which means that we must get the CVSroot information
-@@ -814,5 +896,473 @@
+@@ -815,3 +897,471 @@
     /* NOTREACHED */
  }
  #endif
@@ -3317,7 +3322,7 @@ diff -u -d -r1.1.1.10 root.c
 +            fprintf(stderr, "%s: synchronizing SLAVE with MASTER of repository `%s':\n", program_name, e->nickname);
 +            fprintf(stderr, "%s: %s --> %s (%s)\n", program_name, e->masterpath, e->slavepath, e->syncprog);
 +        }
-+        cmd = expand_path(syncprog, "sync", 0);
++        cmd = expand_path(syncprog, "sync", 0, 0);
 +        run_setup(cmd);
 +        run_arg(e->nickname);
 +        run_arg(e->masterpath);
@@ -3539,15 +3544,13 @@ diff -u -d -r1.1.1.10 root.c
 +
 +#endif /* RSE_PATCH_CVSROOT */
 +
- /* vim:tabstop=8:shiftwidth=4
-  */
 Index: src/sanity.sh
 ===================================================================
 RCS file: /e/ossp/pkg/tool/cvs/cvs/cvs/src/sanity.sh,v
-retrieving revision 1.1.1.12
-diff -u -d -r1.1.1.12 sanity.sh
---- src/sanity.sh	18 Dec 2003 17:40:36 -0000	1.1.1.12
-+++ src/sanity.sh	20 Dec 2003 19:51:53 -0000
+retrieving revision 1.1.1.13
+diff -u -d -r1.1.1.13 sanity.sh
+--- src/sanity.sh	4 Mar 2004 03:02:52 -0000	1.1.1.13
++++ src/sanity.sh	16 Mar 2004 15:41:52 -0000
 @@ -391,6 +391,7 @@
  # "debugger"
  #set -x
@@ -3556,7 +3559,7 @@ diff -u -d -r1.1.1.12 sanity.sh
  echo 'This test should produce no other output than this message, and a final "OK".'
  echo '(Note that the test can take an hour or more to run and periodically stops'
  echo 'for as long as one minute.  Do not assume there is a problem just because'
-@@ -10803,10 +10804,12 @@
+@@ -11098,10 +11099,12 @@
  	  ############################################################
  	  # Check out the whole repository
  	  mkdir 1; cd 1
@@ -3570,7 +3573,7 @@ diff -u -d -r1.1.1.12 sanity.sh
  U CVSROOT/loginfo
  U CVSROOT/modules
  U CVSROOT/notify
-@@ -10826,10 +10829,12 @@
+@@ -11121,10 +11124,12 @@
  	  ############################################################
  	  # Check out CVSROOT
  	  mkdir 1; cd 1
@@ -3584,7 +3587,7 @@ diff -u -d -r1.1.1.12 sanity.sh
  U CVSROOT/loginfo
  U CVSROOT/modules
  U CVSROOT/notify
-@@ -10852,10 +10857,12 @@
+@@ -11147,10 +11152,12 @@
  	  mkdir 1; cd 1
  	  dotest modules-3 "${testcvs} -q co somedir" ''
  	  cd somedir
@@ -3598,7 +3601,7 @@ diff -u -d -r1.1.1.12 sanity.sh
  U CVSROOT/loginfo
  U CVSROOT/modules
  U CVSROOT/notify
-@@ -21839,7 +21846,7 @@
+@@ -22960,7 +22967,7 @@
  add a line on trunk after trunktag"
  	  # But diff thinks that HEAD is "br1".  Case (b) from cvs.texinfo.
  	  # Probably people are relying on it.
@@ -3610,10 +3613,10 @@ diff -u -d -r1.1.1.12 sanity.sh
 Index: src/server.c
 ===================================================================
 RCS file: /e/ossp/pkg/tool/cvs/cvs/cvs/src/server.c,v
-retrieving revision 1.1.1.13
-diff -u -d -r1.1.1.13 server.c
---- src/server.c	18 Dec 2003 18:12:05 -0000	1.1.1.13
-+++ src/server.c	20 Dec 2003 20:15:22 -0000
+retrieving revision 1.1.1.14
+diff -u -d -r1.1.1.14 server.c
+--- src/server.c	3 Mar 2004 13:53:05 -0000	1.1.1.14
++++ src/server.c	16 Mar 2004 15:41:52 -0000
 @@ -112,6 +112,16 @@
  
  # endif /* AUTH_SERVER_SUPPORT */
@@ -3631,7 +3634,7 @@ diff -u -d -r1.1.1.13 server.c
  
  /* While processing requests, this buffer accumulates data to be sent to
     the client, and then once we are in do_cvs_command, we use it
-@@ -694,6 +704,13 @@
+@@ -695,6 +705,13 @@
  
      if (error_pending()) return;
  
@@ -3645,7 +3648,7 @@ diff -u -d -r1.1.1.13 server.c
      if (!isabsolute (arg))
      {
  	if (alloc_pending (80 + strlen (arg)))
-@@ -1116,6 +1133,9 @@
+@@ -1117,6 +1134,9 @@
      TRACE( TRACE_FUNCTION, "serve_directory (%s)", arg ? arg : "(null)" );
  
      status = buf_read_line (buf_from_net, &repos, (int *) NULL);
@@ -3655,7 +3658,7 @@ diff -u -d -r1.1.1.13 server.c
      if (status == 0)
      {
  	if (!outside_root (repos))
-@@ -3813,6 +3833,17 @@
+@@ -3851,6 +3871,17 @@
  }
  
  /* See server.h for description.  */
@@ -3673,7 +3676,7 @@ diff -u -d -r1.1.1.13 server.c
  
  void
  server_modtime (struct file_info *finfo, Vers_TS *vers_ts)
-@@ -4546,6 +4577,9 @@
+@@ -4586,6 +4617,9 @@
    REQ_LINE("expand-modules", serve_expand_modules, 0),
    REQ_LINE("ci", serve_ci, RQ_ESSENTIAL),
    REQ_LINE("co", serve_co, RQ_ESSENTIAL),
@@ -3683,7 +3686,7 @@ diff -u -d -r1.1.1.13 server.c
    REQ_LINE("update", serve_update, RQ_ESSENTIAL),
    REQ_LINE("diff", serve_diff, 0),
    REQ_LINE("log", serve_log, 0),
-@@ -5208,8 +5242,13 @@
+@@ -5270,8 +5304,13 @@
      {
  	char *env;
  
@@ -3697,7 +3700,7 @@ diff -u -d -r1.1.1.13 server.c
  	(void) putenv (env);
  
  	env = xmalloc (sizeof "USER=" + strlen (username));
-@@ -5741,6 +5780,10 @@
+@@ -5803,6 +5842,10 @@
  	|| !strip_trailing_newlines (password))
  	error (1, 0, "Maximum line length exceeded during authentication.");
  
@@ -3708,7 +3711,7 @@ diff -u -d -r1.1.1.13 server.c
      /* ... and make sure the protocol ends on the right foot. */
      /* See above comment about error handling.  */
      getnline( &tmp, &tmp_allocated, PATH_MAX, stdin );
-@@ -6451,3 +6494,517 @@
+@@ -6513,3 +6556,517 @@
  	    cvs_output (text, 0);
      }
  }
@@ -4229,11 +4232,11 @@ diff -u -d -r1.1.1.13 server.c
 Index: src/subr.c
 ===================================================================
 RCS file: /e/ossp/pkg/tool/cvs/cvs/cvs/src/subr.c,v
-retrieving revision 1.1.1.10
-diff -u -d -r1.1.1.10 subr.c
---- src/subr.c	25 Nov 2003 20:52:41 -0000	1.1.1.10
-+++ src/subr.c	5 Dec 2003 20:22:20 -0000
-@@ -321,6 +321,22 @@
+retrieving revision 1.1.1.11
+diff -u -d -r1.1.1.11 subr.c
+--- src/subr.c	11 Mar 2004 14:58:25 -0000	1.1.1.11
++++ src/subr.c	16 Mar 2004 15:41:52 -0000
+@@ -234,6 +234,22 @@
      uid_t uid;
  #endif
  
@@ -4256,7 +4259,7 @@ diff -u -d -r1.1.1.10 subr.c
      /* If there is a CVS username, return it.  */
  #ifdef AUTH_SERVER_SUPPORT
      if (CVS_Username != NULL)
-@@ -784,6 +800,73 @@
+@@ -696,6 +712,73 @@
      return backup_name;
  }
  
@@ -4333,11 +4336,11 @@ diff -u -d -r1.1.1.10 subr.c
 Index: src/update.c
 ===================================================================
 RCS file: /e/ossp/pkg/tool/cvs/cvs/cvs/src/update.c,v
-retrieving revision 1.1.1.11
-diff -u -d -r1.1.1.11 update.c
---- src/update.c	25 Nov 2003 16:12:03 -0000	1.1.1.11
-+++ src/update.c	5 Dec 2003 20:22:20 -0000
-@@ -1725,6 +1725,17 @@
+retrieving revision 1.1.1.12
+diff -u -d -r1.1.1.12 update.c
+--- src/update.c	3 Mar 2004 13:53:05 -0000	1.1.1.12
++++ src/update.c	16 Mar 2004 15:41:53 -0000
+@@ -1730,6 +1730,17 @@
  	       patch can't handle that.  */
  	    fail = 1;
  	}
@@ -4355,7 +4358,7 @@ diff -u -d -r1.1.1.11 update.c
  	fclose (e);
      }
  
-@@ -2528,8 +2539,16 @@
+@@ -2532,8 +2543,16 @@
  	write_letter (finfo, 'C');
      }
      else

+ 2 - 2
cvs/cvs.spec

@@ -24,7 +24,7 @@
 ##
 
 #   the involved versions
-%define       V_cvs       1.12.5
+%define       V_cvs       1.12.6
 %define       V_cvslock   0.2
 
 #   package information
@@ -38,7 +38,7 @@ Class:        CORE
 Group:        SCM
 License:      GPL
 Version:      %{V_cvs}
-Release:      20040212
+Release:      20040413
 
 #   package options
 %option       with_fsl         yes