OpenPKG CVS Repository
http://cvs.openpkg.org/
____________________________________________________________________________
Server: cvs.openpkg.org Name: Ralf S. Engelschall
Root: /v/openpkg/cvs Email: [EMAIL PROTECTED]
Module: openpkg-src Date: 08-Apr-2005 17:04:22
Branch: HEAD Handle: 2005040816042200
Modified files:
openpkg-src/cvs cvs.patch cvs.patch.rse cvs.spec
Log:
upgrading package: cvs 1.12.9 -> 1.12.11
Summary:
Revision Changes Path
1.6 +6 -6 openpkg-src/cvs/cvs.patch
1.17 +323 -330 openpkg-src/cvs/cvs.patch.rse
1.97 +3 -3 openpkg-src/cvs/cvs.spec
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: openpkg-src/cvs/cvs.patch
============================================================================
$ cvs diff -u -r1.5 -r1.6 cvs.patch
--- openpkg-src/cvs/cvs.patch 7 Jun 2004 14:46:39 -0000 1.5
+++ openpkg-src/cvs/cvs.patch 8 Apr 2005 15:04:22 -0000 1.6
@@ -1,17 +1,17 @@
--- src/main.c.orig Tue May 20 00:52:58 2003
+++ src/main.c Thu Jun 26 15:42:16 2003
-@@ -14,6 +14,10 @@
-
- #include <assert.h>
+@@ -16,6 +16,10 @@
#include "cvs.h"
+ #include "xgethostname.h"
+ #include "strftime.h"
+#if defined(SERVER_SUPPORT) && defined(HAVE_SYSLOG_H)
+#include <syslog.h>
+#include <stdarg.h>
+#endif
- #ifdef HAVE_WINSOCK_H
- #include <winsock.h>
-@@ -424,6 +428,11 @@
+ const char *program_name;
+ const char *program_path;
+@@ -557,6 +561,11 @@
/* `getopt_long' stores the option index here, but right now we
don't use it. */
int option_index = 0;
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/cvs/cvs.patch.rse
============================================================================
$ cvs diff -u -r1.16 -r1.17 cvs.patch.rse
--- openpkg-src/cvs/cvs.patch.rse 13 Feb 2005 14:33:28 -0000 1.16
+++ openpkg-src/cvs/cvs.patch.rse 8 Apr 2005 15:04:22 -0000 1.17
@@ -323,11 +323,11 @@
Index: src/add.c
===================================================================
RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/add.c,v
-retrieving revision 1.1.1.12
-diff -u -d -r1.1.1.12 add.c
---- src/add.c 8 May 2004 23:13:10 -0000 1.1.1.12
-+++ src/add.c 19 May 2004 18:33:37 -0000
-@@ -829,6 +829,9 @@
+retrieving revision 1.1.1.13
+diff -u -d -r1.1.1.13 add.c
+--- src/add.c 4 Nov 2004 15:15:26 -0000 1.1.1.13
++++ src/add.c 8 Apr 2005 09:42:35 -0000
+@@ -855,6 +855,9 @@
li->type = T_TITLE;
li->tag = xstrdup (tag);
li->rev_old = li->rev_new = NULL;
@@ -340,11 +340,11 @@
Index: src/admin.c
===================================================================
RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/admin.c,v
-retrieving revision 1.1.1.13
-diff -u -d -r1.1.1.13 admin.c
---- src/admin.c 22 Mar 2004 17:26:42 -0000 1.1.1.13
-+++ src/admin.c 14 Apr 2004 17:52:40 -0000
-@@ -137,6 +137,160 @@
+retrieving revision 1.1.1.14
+diff -u -d -r1.1.1.14 admin.c
+--- src/admin.c 4 Nov 2004 15:15:26 -0000 1.1.1.14
++++ src/admin.c 8 Apr 2005 13:40:35 -0000
+@@ -135,6 +135,160 @@
dat->av[dat->ac++] = newelt;
}
@@ -354,7 +354,7 @@
+static List *admininfo_flist;
+
+static void admininfo_dlist_delproc (Node *);
-+static int admininfo_info_runproc (char *, char *, void *);
++static int admininfo_info_runproc (const char *, const char *, void *);
+static int admininfo_flist_runproc (Node *, void *);
+
+struct admininfo_dlist_st {
@@ -365,7 +365,7 @@
+static int
+admininfo_fileproc (void *callerdat, struct file_info *finfo)
+{
-+ char *xdir;
++ const char *xdir;
+ Node *dnode;
+ Node *fnode;
+
@@ -426,8 +426,8 @@
+admininfo_filesdoneproc(
+ void *callerdat,
+ int err,
-+ char *repos,
-+ char *update_dir,
++ const char *repos,
++ const char *update_dir,
+ List *entries)
+{
+ Node *dnode;
@@ -454,8 +454,8 @@
+/* admininfo configuration entry callback */
+static int
+admininfo_info_runproc(repository, filter, closure)
-+ char *repository;
-+ char *filter;
++ const char *repository;
++ const char *filter;
+ void *closure;
+{
+ char *s, *cp;
@@ -502,10 +502,10 @@
+
+#endif /* RSE_PATCH_ADMININFO */
+
- int
- admin (int argc, char **argv)
- {
-@@ -513,6 +667,20 @@
+
+
+ /*
+@@ -585,6 +739,20 @@
lock_tree_promotably (argc, argv, 0, W_LOCAL, 0);
@@ -524,15 +524,15 @@
+#endif
+
err = start_recursion
- (admin_fileproc, NULL, admin_dirproc,
+ (admin_fileproc, admin_filesdoneproc, admin_dirproc,
NULL, &admin_data,
Index: src/checkin.c
===================================================================
RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/checkin.c,v
-retrieving revision 1.1.1.5
-diff -u -d -r1.1.1.5 checkin.c
---- src/checkin.c 11 May 2004 18:22:29 -0000 1.1.1.5
-+++ src/checkin.c 19 May 2004 18:37:53 -0000
+retrieving revision 1.1.1.6
+diff -u -d -r1.1.1.6 checkin.c
+--- src/checkin.c 4 Nov 2004 15:15:27 -0000 1.1.1.6
++++ src/checkin.c 8 Apr 2005 09:46:24 -0000
@@ -26,6 +26,9 @@
Vers_TS *vers;
int set_time;
@@ -551,16 +551,16 @@
+ flags = RCS_FLAGS_KEEPFILE;
+ if (really_quiet || quiet)
+ flags |= RCS_FLAGS_QUIET;
-+ switch (RCS_checkin (finfo->rcs, finfo->file, message, rev,
-+ flags))
++ switch (RCS_checkin (finfo->rcs, finfo->update_dir, finfo->file,
message,
++ rev, 0, flags))
+#else
- switch (RCS_checkin (finfo->rcs, finfo->file, message, rev,
- RCS_FLAGS_KEEPFILE))
+ switch (RCS_checkin (finfo->rcs, finfo->update_dir, finfo->file,
message,
+ rev, 0, RCS_FLAGS_KEEPFILE))
+#endif
{
case 0: /* everything normal */
-@@ -111,6 +122,16 @@
+@@ -113,6 +124,16 @@
history_write (type, NULL, vers->vn_rcs,
finfo->file, finfo->repository);
@@ -580,10 +580,10 @@
Index: src/client.c
===================================================================
RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/client.c,v
-retrieving revision 1.1.1.16
-diff -u -d -r1.1.1.16 client.c
---- src/client.c 19 May 2004 21:39:47 -0000 1.1.1.16
-+++ src/client.c 9 Jun 2004 20:51:01 -0000
+retrieving revision 1.1.1.18
+diff -u -d -r1.1.1.18 client.c
+--- src/client.c 9 Dec 2004 19:34:33 -0000 1.1.1.18
++++ src/client.c 8 Apr 2005 13:42:16 -0000
@@ -67,6 +67,9 @@
int status (int argc, char **argv);
int tag (int argc, char **argv);
@@ -593,9 +593,9 @@
+#endif
/* All the response handling functions. */
- static void handle_ok (char *, int);
-@@ -210,14 +213,34 @@
- : Name_Root ((char *) NULL, (char *) NULL));
+ static void handle_ok (char *, size_t);
+@@ -220,13 +223,33 @@
+ }
}
+#ifdef RSE_PATCH_CVSROOT
@@ -605,31 +605,30 @@
+
+ cvsroot_alias = 0;
+ if ((e = cvsroot_lookup(NULL, current_parsed_root->original,
NULL)) != NULL)
-+ if (strcmp(e->slavepath, this_root) == 0)
++ if (strcmp(e->slavepath, this_root->original) == 0)
+ cvsroot_alias = 1;
-+ if ((e = cvsroot_lookup(NULL, NULL, this_root)) != NULL)
++ if ((e = cvsroot_lookup(NULL, NULL, this_root->original)) !=
NULL)
+ if (strcmp(e->masterpath, current_parsed_root->original) ==
0)
+ cvsroot_alias = 1;
+#endif
+
/* Now check the value for root. */
- if (this_root && current_parsed_root
+ if (root_string && current_parsed_root
+#ifdef RSE_PATCH_CVSROOT
+ && !cvsroot_alias
+#endif
- && (strcmp (this_root, current_parsed_root->original) != 0))
+ && (strcmp (root_string, original_parsed_root->original) != 0))
{
/* Don't send this, since the CVSROOTs don't match. */
- free (this_root);
return 1;
}
+#ifdef RSE_PATCH_CVSROOT
+ }
+#endif
- free (this_root);
}
-@@ -2225,6 +2248,9 @@
+ /* OK, let's send it. */
+@@ -2379,6 +2402,9 @@
/* Add a directory name to the list of those sent to the
server. */
if (update_dir && (*update_dir != '\0')
@@ -642,11 +641,11 @@
Index: src/commit.c
===================================================================
RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/commit.c,v
-retrieving revision 1.1.1.17
-diff -u -d -r1.1.1.17 commit.c
---- src/commit.c 9 Jun 2004 14:52:37 -0000 1.1.1.17
-+++ src/commit.c 9 Jun 2004 20:51:01 -0000
-@@ -298,6 +298,9 @@
+retrieving revision 1.1.1.18
+diff -u -d -r1.1.1.18 commit.c
+--- src/commit.c 4 Nov 2004 15:15:27 -0000 1.1.1.18
++++ src/commit.c 8 Apr 2005 09:42:35 -0000
+@@ -300,6 +300,9 @@
data->type = status;
data->tag = xstrdup (vers->tag);
data->rev_old = data->rev_new = NULL;
@@ -656,9 +655,9 @@
node->type = UPDATE;
node->delproc = update_delproc;
-@@ -981,7 +984,16 @@
- xmalloc (sizeof (struct logfile_info)));
- li->type = status;
+@@ -1057,7 +1060,16 @@
+ }
+
li->tag = xstrdup (vers->tag);
+#ifdef RSE_PATCH_READDNEW
+ /* If the file was re-added, we want the revision in the commitlog
@@ -673,7 +672,7 @@
li->rev_new = NULL;
p->data = li;
(void) addnode (ulist, p);
-@@ -2299,6 +2311,10 @@
+@@ -2461,6 +2473,10 @@
free (li->rev_old);
if (li->rev_new)
free (li->rev_new);
@@ -687,16 +686,16 @@
Index: src/create_adm.c
===================================================================
RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/create_adm.c,v
-retrieving revision 1.1.1.9
-diff -u -d -r1.1.1.9 create_adm.c
---- src/create_adm.c 27 Apr 2004 20:36:33 -0000 1.1.1.9
-+++ src/create_adm.c 19 May 2004 18:38:23 -0000
+retrieving revision 1.1.1.10
+diff -u -d -r1.1.1.10 create_adm.c
+--- src/create_adm.c 4 Nov 2004 15:15:27 -0000 1.1.1.10
++++ src/create_adm.c 8 Apr 2005 13:43:34 -0000
@@ -23,6 +23,41 @@
or after which CVS might do something non-useful. If WARN is zero, then
don't print warnings; all errors are fatal then. */
+#ifdef RSE_PATCH_CVSROOT
-+static int local_template_cb(char *repository, char *template, void
*closure)
++static int local_template_cb(const char *repository, const char *template,
void *closure)
+{
+ FILE *fpIN, *fpOUT;
+ char buf[1024];
@@ -720,7 +719,7 @@
+ return 0;
+}
+
-+static void local_template(char *update_dir, char *repository)
++static void local_template(const char *update_dir, const char *repository)
+{
+ cvsroot_type *e;
+
@@ -757,10 +756,10 @@
Index: src/cvs.h
===================================================================
RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/cvs.h,v
-retrieving revision 1.1.1.16
-diff -u -d -r1.1.1.16 cvs.h
---- src/cvs.h 9 Jun 2004 14:52:38 -0000 1.1.1.16
-+++ src/cvs.h 13 Feb 2005 11:11:02 -0000
+retrieving revision 1.1.1.18
+diff -u -d -r1.1.1.18 cvs.h
+--- src/cvs.h 30 Nov 2004 19:57:10 -0000 1.1.1.18
++++ src/cvs.h 8 Apr 2005 14:46:18 -0000
@@ -7,6 +7,46 @@
*/
@@ -808,10 +807,10 @@
* basic information used in all source files
*
*/
-@@ -166,6 +206,33 @@
+@@ -175,6 +215,33 @@
+ #define CVSROOTADM_VERIFYMSG "verifymsg"
+ #define CVSROOTADM_WRAPPER "cvswrappers"
#define CVSROOTADM_WRITERS "writers"
- #define CVSROOTADM_PASSWD "passwd"
- #define CVSROOTADM_CONFIG "config"
+#ifdef RSE_PATCH_ADMININFO
+#define CVSROOTADM_ADMININFO "admininfo"
+#endif
@@ -842,9 +841,9 @@
#define CVSNULLREPOS "Emptydir" /* an empty directory */
-@@ -449,6 +516,27 @@
- void root_allow_free (void);
- int root_allow_ok (char *);
+@@ -459,6 +526,27 @@
+ const char *Short_Repository (const char *repository);
+ void Sanitize_Repository_Name (char *repository);
+#ifdef RSE_PATCH_MAPROOT
+void root_map_add (char *, char *);
@@ -867,10 +866,10 @@
+void cvsroot_synchronize(cvsroot_type *, int);
+#endif
+
- char *previous_rev (RCSNode *rcs, const char *rev);
- char *gca (const char *rev1, const char *rev2);
- void check_numeric (const char *, int, char **);
-@@ -612,6 +700,10 @@
+ char *entries_time (time_t unixtime);
+ time_t unix_time_stamp (const char *file);
+ char *time_stamp (const char *file);
+@@ -589,6 +677,14 @@
void expand_wild (int argc, char **argv,
int *pargc, char ***pargv);
@@ -878,10 +877,14 @@
+int handle2dates(char *, time_t *, time_t *);
+#endif
+
- #ifdef SERVER_SUPPORT
- int cvs_casecmp (const char *, const char *);
- #endif
-@@ -860,6 +952,9 @@
++#ifdef SERVER_SUPPORT
++int cvs_casecmp (const char *, const char *);
++#endif
++
+ /* exithandle.c */
+ void signals_register (RETSIGTYPE (*handler)(int));
+ void cleanup_register (void (*handler) (void));
+@@ -791,6 +887,9 @@
NULL for add or import */
char *rev_new; /* rev number after a commit/modify,
add, or import, NULL for remove */
@@ -891,7 +894,7 @@
};
/* Wrappers. */
-@@ -900,6 +995,13 @@
+@@ -831,6 +930,13 @@
int unedit (int argc, char **argv);
int editors (int argc, char **argv);
int watchers (int argc, char **argv);
@@ -905,7 +908,7 @@
int annotate (int argc, char **argv);
int add (int argc, char **argv);
int admin (int argc, char **argv);
-@@ -929,8 +1031,11 @@
+@@ -860,6 +966,9 @@
int cvsstatus (int argc, char **argv);
int cvstag (int argc, char **argv);
int version (int argc, char **argv);
@@ -913,11 +916,17 @@
+extern int cvslist (int argc, char **argv);
+#endif
--unsigned long int lookup_command_attribute (char *);
-+unsigned long int lookup_command_attribute (const char *);
+ unsigned long int lookup_command_attribute (const char *);
- #if defined(AUTH_CLIENT_SUPPORT) || defined(AUTH_SERVER_SUPPORT)
- char *scramble (char *str);
+@@ -891,3 +1000,8 @@
+ void cvs_flusherr (void);
+ void cvs_flushout (void);
+ void cvs_output_tagged (const char *, const char *);
++
++#ifdef RSE_PATCH_BUGFIX
++extern int rpl_lstat (const char *file, struct stat *sbuf);
++#endif
++
Index: src/cvsrc.c
===================================================================
RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/cvsrc.c,v
@@ -1226,10 +1235,10 @@
Index: src/diff.c
===================================================================
RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/diff.c,v
-retrieving revision 1.1.1.11
-diff -u -d -r1.1.1.11 diff.c
---- src/diff.c 22 Mar 2004 17:26:44 -0000 1.1.1.11
-+++ src/diff.c 14 Apr 2004 17:52:41 -0000
+retrieving revision 1.1.1.12
+diff -u -d -r1.1.1.12 diff.c
+--- src/diff.c 4 Nov 2004 15:15:27 -0000 1.1.1.12
++++ src/diff.c 8 Apr 2005 09:42:35 -0000
@@ -49,6 +49,10 @@
static char *diff_date1, *diff_date2;
static char *use_rev1, *use_rev2;
@@ -1437,21 +1446,22 @@
Index: src/history.c
===================================================================
RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/history.c,v
-retrieving revision 1.1.1.11
-diff -u -d -r1.1.1.11 history.c
---- src/history.c 9 Jun 2004 14:52:38 -0000 1.1.1.11
-+++ src/history.c 9 Jun 2004 20:51:01 -0000
-@@ -237,6 +237,9 @@
+retrieving revision 1.1.1.12
+diff -u -d -r1.1.1.12 history.c
+--- src/history.c 4 Nov 2004 15:15:27 -0000 1.1.1.12
++++ src/history.c 8 Apr 2005 09:49:07 -0000
+@@ -236,6 +236,10 @@
+ static time_t tz_seconds_east_of_GMT;
static char *tz_name = "+0000";
- char *logHistory = ALL_HISTORY_REC_TYPES;
+#ifdef RSE_PATCH_HISTORYFILE
+char *history_file = NULL;
+#endif
-
++
/* -r, -t, or -b options, malloc'd. These are "" if the option in
question is not specified or is overridden by another option. The
-@@ -671,6 +674,10 @@
+ main reason for using "" rather than NULL is historical. Together
+@@ -669,6 +673,10 @@
if (histfile)
fname = xstrdup (histfile);
@@ -1462,19 +1472,17 @@
else
{
fname = xmalloc (strlen (current_parsed_root->directory) + sizeof
(CVSROOTADM)
-@@ -720,10 +727,18 @@
- return;
- if ( strchr(logHistory, type) == NULL )
+@@ -718,8 +726,16 @@
+ if (!strchr (config->logHistory, type))
return;
+
+#ifdef RSE_PATCH_HISTORYFILE
+ if (history_file != NULL)
+ fname = xstrdup (history_file);
+ else {
+#endif
- fname = xmalloc (strlen (current_parsed_root->directory) + sizeof
(CVSROOTADM)
- + sizeof (CVSROOTADM_HISTORY) + 3);
- (void) sprintf (fname, "%s/%s/%s", current_parsed_root->directory,
- CVSROOTADM, CVSROOTADM_HISTORY);
+ fname = Xasprintf ("%s/%s/%s", current_parsed_root->directory,
+ CVSROOTADM, CVSROOTADM_HISTORY);
+#ifdef RSE_PATCH_HISTORYFILE
+ }
+#endif
@@ -1484,11 +1492,11 @@
Index: src/import.c
===================================================================
RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/import.c,v
-retrieving revision 1.1.1.10
-diff -u -d -r1.1.1.10 import.c
---- src/import.c 30 Apr 2004 12:57:34 -0000 1.1.1.10
-+++ src/import.c 19 May 2004 18:33:38 -0000
-@@ -56,6 +56,141 @@
+retrieving revision 1.1.1.11
+diff -u -d -r1.1.1.11 import.c
+--- src/import.c 4 Nov 2004 15:15:27 -0000 1.1.1.11
++++ src/import.c 8 Apr 2005 09:42:35 -0000
+@@ -64,6 +64,141 @@
NULL
};
@@ -1630,7 +1638,7 @@
int
import (int argc, char **argv)
{
-@@ -301,6 +436,12 @@
+@@ -326,6 +461,12 @@
error (1, 0, "attempt to import the repository");
}
@@ -1643,7 +1651,7 @@
/*
* Make all newly created directories writable. Should really use a
more
* sophisticated security mechanism here.
-@@ -340,7 +481,11 @@
+@@ -368,7 +509,11 @@
"Use the following command to help the merge:");
cvs_output_tagged ("newline", NULL);
cvs_output_tagged ("newline", NULL);
@@ -1655,8 +1663,8 @@
cvs_output_tagged ("text", program_name);
if (CVSroot_cmdline != NULL)
{
-@@ -367,7 +512,11 @@
- conflicts);
+@@ -398,7 +543,11 @@
+ (void) fprintf (logfp, " conflicts created by this import.\n");
(void) fprintf (logfp,
"Use the following command to help the merge:\n\n");
+#ifdef RSE_PATCH_COSMETICS
@@ -1667,7 +1675,7 @@
(void) fprintf (logfp, "-j%s:yesterday -j%s %s\n\n",
argv[1], argv[1], argv[0]);
}
-@@ -390,6 +539,9 @@
+@@ -421,6 +570,9 @@
li->type = T_TITLE;
li->tag = xstrdup (vbranch);
li->rev_old = li->rev_new = NULL;
@@ -1677,7 +1685,7 @@
p->data = li;
(void) addnode (ulist, p);
Update_Logfile (repository, message, logfp, ulist);
-@@ -667,7 +819,11 @@
+@@ -718,7 +870,11 @@
*/
if (add_tags (vers->srcfile, vfile, vtag, targc, targv))
retval = 1;
@@ -1694,7 +1702,7 @@
RCS file: src/list.c
diff -N src/list.c
--- /dev/null 1 Jan 1970 00:00:00 -0000
-+++ src/list.c 19 May 2004 18:53:24 -0000
++++ src/list.c 8 Apr 2005 13:47:48 -0000
@@ -0,0 +1,282 @@
+/*
+ * Copyright (c) 1998, Dan Rich <[EMAIL PROTECTED]>
@@ -1913,8 +1921,8 @@
+ free(buf);
+
+ if (local) { /* We need to output the current
dirs */
-+ dirs = Find_Directories(update_dir, W_REPOS, NULL);
-+ walklist(dirs, cvslist_output_dir, update_dir);
++ dirs = Find_Directories((char *)update_dir, W_REPOS, NULL);
++ walklist(dirs, cvslist_output_dir, (char *)update_dir);
+ }
+ return R_PROCESS;
+}
@@ -1965,7 +1973,7 @@
+ buf = xmalloc(80 + strlen(p->key)
+ + (branch ? strlen(branch) : strlen(p->data)));
+ sprintf(buf, "\t%-25s\t(%s: %s)", p->key,
-+ branch ? "branch" : "revision", branch ? branch : p->data);
++ branch ? "branch" : "revision", branch ? branch : (char
*)p->data);
+ cvs_output_tagged("finfo", buf);
+ cvs_output_tagged("newline", NULL);
+ free(buf);
@@ -1981,11 +1989,11 @@
Index: src/logmsg.c
===================================================================
RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/logmsg.c,v
-retrieving revision 1.1.1.10
-diff -u -d -r1.1.1.10 logmsg.c
---- src/logmsg.c 22 Mar 2004 17:26:46 -0000 1.1.1.10
-+++ src/logmsg.c 14 Apr 2004 17:52:42 -0000
-@@ -625,6 +625,9 @@
+retrieving revision 1.1.1.11
+diff -u -d -r1.1.1.11 logmsg.c
+--- src/logmsg.c 4 Nov 2004 15:15:27 -0000 1.1.1.11
++++ src/logmsg.c 8 Apr 2005 13:23:38 -0000
+@@ -616,6 +616,9 @@
const char *f;
char *d;
size_t doff;
@@ -1995,7 +2003,7 @@
if (p->data == NULL) return 1;
-@@ -635,6 +638,37 @@
+@@ -626,6 +629,36 @@
{
switch (*f++)
{
@@ -2018,13 +2026,12 @@
+ break;
+ }
+ case 'd': {
-+ time_t t;
++ struct timespec ts;
+ 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);
++ if (get_date(&ts, li->date, NULL)) {
++ ts.tv_sec += 1; /* re-adjust because of fudge */
++ sprintf(buf, "%ld", (long)ts.tv_sec);
+ }
+ }
+ break;
@@ -2036,11 +2043,11 @@
Index: src/main.c
===================================================================
RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/main.c,v
-retrieving revision 1.1.1.15
-diff -u -d -r1.1.1.15 main.c
---- src/main.c 29 May 2004 04:49:51 -0000 1.1.1.15
-+++ src/main.c 13 Feb 2005 14:28:33 -0000
-@@ -25,6 +25,10 @@
+retrieving revision 1.1.1.17
+diff -u -d -r1.1.1.17 main.c
+--- src/main.c 9 Dec 2004 16:02:25 -0000 1.1.1.17
++++ src/main.c 8 Apr 2005 14:43:16 -0000
+@@ -21,6 +21,10 @@
const char *program_path;
const char *cvs_cmd_name;
@@ -2048,10 +2055,10 @@
+static char *chrootdir = NULL;
+#endif
+
- /* I'd dynamically allocate this, but it seems like gethostname
- requires a fixed size array. If I'm remembering the RFCs right,
- 256 should be enough. */
-@@ -54,6 +58,11 @@
+ char *hostname;
+ #ifdef SERVER_SUPPORT
+ char *server_hostname;
+@@ -49,6 +53,11 @@
mode_t cvsumask = UMASK_DFLT;
@@ -2063,7 +2070,7 @@
char *CurDir;
/*
-@@ -128,12 +137,18 @@
+@@ -114,12 +123,18 @@
{ "login", "logon", "lgn", login, 0 },
{ "logout", NULL, NULL, logout, 0 },
#endif /* AUTH_CLIENT_SUPPORT */
@@ -2079,10 +2086,10 @@
+#ifdef RSE_PATCH_RLIST
+ { "rlist", "rls", NULL, cvslist, 0 },
+#endif
- { "release", "re", "rel", release, 0 },
+ { "release", "re", "rel", release,
CVS_CMD_MODIFIES_REPOSITORY },
{ "remove", "rm", "delete", cvsremove,
CVS_CMD_MODIFIES_REPOSITORY | CVS_CMD_USES_WORK_DIR },
{ "rlog", "rl", NULL, cvslog, 0 },
-@@ -149,9 +164,53 @@
+@@ -135,9 +150,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
},
@@ -2136,7 +2143,7 @@
static const char *const usg[] =
{
/* CVS usage messages never have followed the GNU convention of
-@@ -192,9 +251,13 @@
+@@ -178,9 +237,13 @@
paragraph in ../cvs.spec without assuming the reader knows what
version control means. */
@@ -2145,12 +2152,12 @@
+#else
"For CVS updates and additional information, see\n",
" the CVS home page at http://www.cvshome.org/ or\n",
- " Pascal Molli's CVS site at
http://www.loria.fr/~molli/cvs-index.html\n",
+ " the CVSNT home page at http://www.cvsnt.org/\n",
+#endif
NULL,
};
-@@ -221,12 +284,18 @@
+@@ -207,12 +270,18 @@
" login Prompt for password for authenticating server\n",
" logout Removes entry in .cvspass for remote
repository\n",
#endif /* AUTH_CLIENT_SUPPORT */
@@ -2169,7 +2176,7 @@
" 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",
-@@ -242,6 +311,9 @@
+@@ -228,6 +297,9 @@
" version Show current CVS version(s)\n",
" watch Set watches\n",
" watchers See who is watching a file\n",
@@ -2179,7 +2186,7 @@
"(Specify the --help option for a list of other help options)\n",
NULL,
};
-@@ -271,6 +343,10 @@
+@@ -257,6 +329,10 @@
#endif
" -a Authenticate all net traffic.\n",
#endif
@@ -2190,16 +2197,7 @@
" -s VAR=VAL Set CVS user variable.\n",
"(Specify the --help option for a list of other help options)\n",
NULL
-@@ -329,7 +405,7 @@
-
-
- unsigned long int
--lookup_command_attribute (char *cmd_name)
-+lookup_command_attribute (const char *cmd_name)
- {
- const struct cmd *cm;
-
-@@ -338,6 +414,20 @@
+@@ -326,6 +402,20 @@
if (strcmp (cmd_name, cm->fullname) == 0)
break;
}
@@ -2220,8 +2218,8 @@
if (!cm->fullname)
error (1, 0, "unknown command: %s", cmd_name);
return cm->attr;
-@@ -426,11 +516,30 @@
- int free_CVSroot = 0;
+@@ -422,11 +512,30 @@
+ int tmpdir_update_env;
int free_Editor = 0;
int free_Tmpdir = 0;
+#ifdef RSE_PATCH_CVSROOT
@@ -2251,9 +2249,9 @@
static struct option long_options[] =
{
{"help", 0, NULL, 'H'},
-@@ -439,6 +548,12 @@
- {"help-synonyms", 0, NULL, 2},
+@@ -436,6 +545,12 @@
{"help-options", 0, NULL, 4},
+ #ifdef SERVER_SUPPORT
{"allow-root", required_argument, NULL, 3},
+#ifdef RSE_PATCH_MAPROOT
+ {"map-root", required_argument, NULL, 5},
@@ -2261,10 +2259,10 @@
+#ifdef RSE_PATCH_CHROOT
+ {"chroot", required_argument, NULL, 6},
+#endif
+ #endif /* SERVER_SUPPORT */
{0, 0, 0, 0}
};
- /* `getopt_long' stores the option index here, but right now we
-@@ -503,6 +618,10 @@
+@@ -495,6 +610,10 @@
readonlyfs = 1;
logoff = 1;
}
@@ -2275,7 +2273,7 @@
/* Set this to 0 to force getopt initialization. getopt() sets
this to 1 internally. */
-@@ -522,12 +641,63 @@
+@@ -514,12 +633,63 @@
use_cvsrc = 0;
}
@@ -2339,7 +2337,7 @@
optind = 0;
opterr = 1;
-@@ -553,6 +723,24 @@
+@@ -546,6 +716,24 @@
/* --allow-root */
root_allow_add (optarg);
break;
@@ -2361,10 +2359,10 @@
+ break;
+ }
+#endif
+ #endif /* SERVER_SUPPORT */
case 'Q':
really_quiet = 1;
- /* FALL THROUGH */
-@@ -612,10 +800,34 @@
+@@ -606,7 +794,31 @@
case 'd':
if (CVSroot_cmdline != NULL)
free (CVSroot_cmdline);
@@ -2382,24 +2380,21 @@
+ if (!quiet)
+ fprintf(stderr, "%s: using repository `%s'\n",
program_name, e->masterpath);
+ CVSroot_cmdline = xstrdup(e->masterpath);
-+ CVSroot = xstrdup(e->masterpath);
++ CVSroot_parsed->original = xstrdup(e->masterpath);
+ cvsroot_free(e);
+ }
+ else {
+ cvsroot_cmdline_isreal = 1;
+#endif
CVSroot_cmdline = xstrdup (optarg);
- if (free_CVSroot)
- {
- free (CVSroot);
+#ifdef RSE_PATCH_CVSROOT
+ }
+ }
+#endif
- free_CVSroot = 0;
- }
- CVSroot = CVSroot_cmdline;
-@@ -664,6 +876,28 @@
+ break;
+ case 'H':
+ help = 1;
+@@ -651,6 +863,28 @@
We will issue an error later if stream
authentication is not supported. */
break;
@@ -2428,7 +2423,7 @@
case '?':
default:
usage (usg);
-@@ -675,12 +909,36 @@
+@@ -662,12 +896,36 @@
if (argc < 1)
usage (usg);
@@ -2465,7 +2460,7 @@
/* Look up the command name. */
-@@ -703,6 +961,10 @@
+@@ -690,6 +948,10 @@
else
cvs_cmd_name = cm->fullname; /* Global pointer for later use */
@@ -2476,7 +2471,7 @@
if (help)
{
argc = -1; /* some functions only check for this */
-@@ -730,6 +992,116 @@
+@@ -717,6 +979,116 @@
CVSUMASK_ENV, cp);
}
@@ -2593,7 +2588,7 @@
#ifdef SERVER_SUPPORT
# ifdef HAVE_KERBEROS
-@@ -746,6 +1118,21 @@
+@@ -733,6 +1105,21 @@
}
# endif /* HAVE_KERBEROS */
@@ -2615,7 +2610,7 @@
# if defined (AUTH_SERVER_SUPPORT) || defined (HAVE_GSSAPI)
if (strcmp (cvs_cmd_name, "pserver") == 0)
-@@ -770,6 +1157,10 @@
+@@ -757,6 +1144,10 @@
#endif /* SERVER_SUPPORT */
@@ -2626,10 +2621,10 @@
#ifdef SERVER_SUPPORT
if (server_active)
-@@ -832,8 +1223,12 @@
- in server mode, since the client will send the repository
- directory after the connection is made. */
-
+@@ -826,8 +1217,12 @@
+ * in server mode, since the client will send the repository
+ * directory after the connection is made.
+ */
+#if defined(RSE_PATCH_CVSROOT) || defined(RSE_PATCH_CUSTOMCMD)
+ if (!server_active && !standalone_command)
+#else
@@ -2637,18 +2632,18 @@
#endif
+#endif
{
- char *CVSADM_Root;
-
-@@ -889,6 +1284,54 @@
+ /* First check if a root was set via the command line. */
+ if (CVSroot_cmdline)
+@@ -883,6 +1278,48 @@
error (1, 0,
- "CVS/Root file (if any).");
+ "or set the %s environment variable.", CVSROOT_ENV);
}
+
+#ifdef RSE_PATCH_CVSROOT
+ if (CVSroot_cmdline == NULL || !cvsroot_cmdline_isreal) {
+ cvsroot_type *e;
+ if (lookup_command_attribute(cvs_cmd_name) &
CVS_CMD_MODIFIES_REPOSITORY) {
-+ if ((e = cvsroot_lookup(NULL, NULL, CVSroot)) != NULL) {
++ if ((e = cvsroot_lookup(NULL, NULL,
CVSroot_parsed->original)) != NULL) {
+ /* command modifies repository and we still operare
on
+ the slave repository, so switch to the master
repository,
+ because we can only perform modifications there.
*/
@@ -2656,19 +2651,16 @@
+ fprintf(stderr, "%s: switching to MASTER
location of repository `%s'\n", program_name, e->nickname);
+ fprintf(stderr, "%s: %s <-- %s\n",
program_name, e->masterpath, e->slavepath);
+ }
-+ if (free_CVSroot)
-+ free(CVSroot);
-+ CVSroot = xstrdup(e->masterpath);
++ CVSroot_parsed->original = xstrdup(e->masterpath);
+ if (CVSroot_cmdline != NULL)
+ free(CVSroot_cmdline);
+ CVSroot_cmdline = xstrdup(e->masterpath);
+ cvsroot_sync = e;
-+ free_CVSroot = 1;
-+ cvs_update_env = 1;
++ cvsroot_update_env = true;
+ }
+ }
+ else {
-+ if ((e = cvsroot_lookup(NULL, CVSroot, NULL)) != NULL) {
++ if ((e = cvsroot_lookup(NULL, CVSroot_parsed->original,
NULL)) != NULL) {
+ if (e->slavepath[0] != '\0') {
+ /* command does not modify repository and we
still operare on
+ the master repository, so switch to the
slave repository,
@@ -2677,15 +2669,12 @@
+ fprintf(stderr, "%s: switching to SLAVE
location of repository `%s'\n", program_name, e->nickname);
+ fprintf(stderr, "%s: %s --> %s\n",
program_name, e->masterpath, e->slavepath);
+ }
-+ if (free_CVSroot)
-+ free(CVSroot);
-+ CVSroot = xstrdup(e->slavepath);
++ CVSroot_parsed->original =
xstrdup(e->slavepath);
+ if (CVSroot_cmdline != NULL)
+ free(CVSroot_cmdline);
+ CVSroot_cmdline = xstrdup(e->slavepath);
+ cvsroot_free(e);
-+ free_CVSroot = 1;
-+ cvs_update_env = 1;
++ cvsroot_update_env = true;
+ }
+ }
+ }
@@ -2694,7 +2683,7 @@
}
/* Here begins the big loop over unique cvsroot values. We
-@@ -921,6 +1364,9 @@
+@@ -915,6 +1352,9 @@
end of things. */
while (
@@ -2704,7 +2693,7 @@
#ifdef SERVER_SUPPORT
server_active ||
#endif
-@@ -932,8 +1378,12 @@
+@@ -926,8 +1366,12 @@
in server mode, since the client will send the repository
directory after the connection is made. */
@@ -2717,20 +2706,20 @@
{
/* Now we're 100% sure that we have a valid CVSROOT
variable. Parse it to see if we're supposed to do
-@@ -966,7 +1416,12 @@
- {
+@@ -955,7 +1399,12 @@
save_errno = errno;
- /* If this is "cvs init", the root need not exist yet.
*/
+ /* If this is "cvs init", the root need not exist yet.
+ */
+#ifdef RSE_PATCH_CVSROOT
-+ if (strcmp (cvs_cmd_name, "init") != 0 &&
-+ strcmp (cvs_cmd_name, "root") != 0)
++ if (strcmp (cvs_cmd_name, "init") ||
++ strcmp (cvs_cmd_name, "root") )
+#else
- if (strcmp (cvs_cmd_name, "init") != 0)
+ if (strcmp (cvs_cmd_name, "init"))
+#endif
- {
error (1, save_errno, "%s", path);
- }
-@@ -1002,6 +1457,9 @@
+ }
+ free (path);
+@@ -988,6 +1437,9 @@
read_cvsrc and other such places or vice versa. That sort
of thing probably needs more thought. */
if (1
@@ -2740,7 +2729,7 @@
#ifdef SERVER_SUPPORT
&& !server_active
#endif
-@@ -1032,7 +1490,31 @@
+@@ -1019,7 +1471,31 @@
}
#endif
@@ -2772,17 +2761,17 @@
#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
-@@ -1044,6 +1526,9 @@
- !current_parsed_root->isremote &&
+@@ -1032,6 +1508,9 @@
+ !current_parsed_root->isremote &&
#endif
- !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);
-@@ -1052,6 +1537,27 @@
+@@ -1040,7 +1519,32 @@
/* Call our worker function. */
err = (*(cm->func)) (argc, argv);
@@ -2808,19 +2797,14 @@
+ }
+#endif
- /* Mark this root directory as done. When the server is
- active, current_root will be NULL -- don't try and
-@@ -1070,12 +1576,21 @@
- dellist (&root_directories);
- #endif
-
+#if defined(RSE_PATCH_CVSROOT) || defined(RSE_PATCH_CUSTOMCMD)
+ if (standalone_command)
+ break;
+#endif
- #ifdef SERVER_SUPPORT
- if (server_active)
- break;
+ /* Mark this root directory as done. When the server is
+ active, our list will be empty -- don't try and
+ remove it from the list. */
+@@ -1063,6 +1567,10 @@
#endif
} /* end of loop for cvsroot values */
@@ -2828,18 +2812,30 @@
+ if (cvsroot_sync != NULL)
+ cvsroot_synchronize(cvsroot_sync, 0);
+#endif
-+
+ dellist (&root_directories);
} /* end of stuff that gets done if the user DOESN'T ask for help */
- if (free_CVSroot)
+@@ -1260,6 +1768,12 @@
+
+ TRACE (TRACE_FUNCTION, "format_date (%s)", datestr);
+
++#ifdef RSE_PATCH_BUGFIX
++ /* Special case */
++ if (strncmp(datestr, "Result of merge", 15) == 0)
++ goto as_is;
++#endif
++
+ /* Convert the date string to seconds since the epoch. */
+ if (!get_date (&t, datestr, NULL))
+ {
Index: src/mkmodules.c
===================================================================
RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/mkmodules.c,v
-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 @@
+retrieving revision 1.1.1.10
+diff -u -d -r1.1.1.10 mkmodules.c
+--- src/mkmodules.c 30 Nov 2004 19:57:10 -0000 1.1.1.10
++++ src/mkmodules.c 8 Apr 2005 11:30:15 -0000
+@@ -229,6 +229,48 @@
NULL
};
@@ -2885,10 +2881,10 @@
+};
+#endif
+
- 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",
-@@ -332,6 +374,17 @@
+ static const char *const preproxy_contents[] = {
+ "# The \"preproxy\" file is called form the secondary server as soon
as\n",
+ "# the secondary server determines that it will be proxying a write\n",
+@@ -520,6 +562,17 @@
"# repositories. Set it to `never' (the previous CVS behavior) to
prevent\n",
"# verifymsg scripts from changing the log message.\n",
"#RereadLogAfterVerify=always\n",
@@ -2906,10 +2902,10 @@
"\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",
-@@ -368,6 +421,16 @@
- {CVSROOTADM_TAGINFO,
- "a %s file can be used to configure 'cvs tag' checking",
- taginfo_contents},
+@@ -601,6 +654,16 @@
+ {CVSROOTADM_COMMITINFO,
+ "a %s file can be used to configure 'cvs commit' checking",
+ commitinfo_contents},
+#ifdef RSE_PATCH_ADMININFO
+ {CVSROOTADM_ADMININFO,
+ "a %s file can be used to configure 'cvs admin' checking",
@@ -2926,38 +2922,35 @@
Index: src/parseinfo.c
===================================================================
RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/parseinfo.c,v
-retrieving revision 1.1.1.11
-diff -u -d -r1.1.1.11 parseinfo.c
---- src/parseinfo.c 22 Mar 2004 17:26:47 -0000 1.1.1.11
-+++ src/parseinfo.c 14 Apr 2004 17:52:42 -0000
-@@ -10,6 +10,9 @@
- #include "getline.h"
+retrieving revision 1.1.1.13
+diff -u -d -r1.1.1.13 parseinfo.c
+--- src/parseinfo.c 30 Nov 2004 19:57:10 -0000 1.1.1.13
++++ src/parseinfo.c 8 Apr 2005 13:36:55 -0000
+@@ -8,6 +8,9 @@
- extern char *logHistory;
+ #include "cvs.h"
+ #include "getline.h"
+#ifdef RSE_PATCH_HISTORYFILE
+extern char *history_file;
+#endif
+ #include "history.h"
-
-@@ -391,7 +394,24 @@
+@@ -449,7 +452,21 @@
{
- if (lock_dir != NULL)
- free (lock_dir);
+ if (retval->lock_dir != NULL)
+ free (retval->lock_dir);
+#ifdef RSE_PATCH_RELLOCKDIR
+ if (p[0] == '/') {
+#endif
- lock_dir = xstrdup (p);
+ retval->lock_dir = xstrdup (p);
+#ifdef RSE_PATCH_RELLOCKDIR
+ }
+ else {
+ char *s;
-+
-+ lock_dir = xmalloc (strlen (p)
-+ + strlen (current_parsed_root->directory)
-+ + 2);
-+ strcpy (lock_dir, current_parsed_root->directory);
-+ s = lock_dir + strlen (lock_dir);
++ retval->lock_dir = xmalloc (strlen (p) + strlen
(current_parsed_root->directory) + 2);
++ strcpy (retval->lock_dir, current_parsed_root->directory);
++ s = retval->lock_dir + strlen (retval->lock_dir);
+ *s++ = '/';
+ strcpy (s, p);
+ }
@@ -2965,9 +2958,9 @@
/* 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. */
-@@ -413,6 +433,19 @@
- else if (strcmp (p, "stat") == 0)
- RereadLogAfterVerify = LOGMSG_REREAD_STAT;
+@@ -479,6 +496,19 @@
+ }
+ }
}
+#ifdef RSE_PATCH_HISTORYFILE
+ else if (strcmp (line, "HistoryFile") == 0)
@@ -2983,28 +2976,29 @@
+ }
+#endif
else if (strcmp (line, "UserAdminOptions") == 0)
- {
- UserAdminOptions = xmalloc(strlen(p) + 1);
-@@ -445,9 +478,11 @@
+ retval->UserAdminOptions = xstrdup (p);
+ else if (strcmp (line, "UseNewInfoFmtStrings") == 0)
+@@ -535,8 +565,12 @@
adding new keywords to your CVSROOT/config file is not
particularly recommended unless you are planning on using
the new features. */
+#ifndef RSE_PATCH_SMARTCONFIG
error (0, 0, "%s: unrecognized keyword '%s'",
infopath, line);
- goto error_return;
++#else
++ ;
+#endif
- }
}
if (ferror (fp_info))
+ error (0, errno, "cannot read %s", infopath);
Index: src/repos.c
===================================================================
RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/repos.c,v
-retrieving revision 1.1.1.9
-diff -u -d -r1.1.1.9 repos.c
---- src/repos.c 30 Apr 2004 12:57:34 -0000 1.1.1.9
-+++ src/repos.c 19 May 2004 18:53:53 -0000
-@@ -200,3 +200,11 @@
+retrieving revision 1.1.1.10
+diff -u -d -r1.1.1.10 repos.c
+--- src/repos.c 4 Nov 2004 15:15:28 -0000 1.1.1.10
++++ src/repos.c 8 Apr 2005 09:42:36 -0000
+@@ -199,3 +199,11 @@
repository[len - 2] = '\0';
}
}
@@ -3019,22 +3013,22 @@
Index: src/root.c
===================================================================
RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/root.c,v
-retrieving revision 1.1.1.13
-diff -u -d -r1.1.1.13 root.c
---- src/root.c 30 Apr 2004 12:57:34 -0000 1.1.1.13
-+++ src/root.c 19 May 2004 18:33:39 -0000
-@@ -125,6 +125,9 @@
- /* allocate space to return and fill it in */
- strip_trailing_slashes (root);
- ret = xstrdup (root);
+retrieving revision 1.1.1.15
+diff -u -d -r1.1.1.15 root.c
+--- src/root.c 9 Dec 2004 19:34:34 -0000 1.1.1.15
++++ src/root.c 8 Apr 2005 13:52:23 -0000
+@@ -123,6 +123,9 @@
+ goto out;
+ }
+
+#ifdef RSE_PATCH_MAPROOT
-+ root_map_it(ret, &ret, 0);
++ root_map_it(ret->original, &ret->original, 0);
+#endif
+
out:
free (cvsadm);
- free (tmp);
-@@ -255,7 +258,86 @@
- return 0;
+@@ -344,7 +347,86 @@
+ return parse_config (arg);
}
+#ifdef RSE_PATCH_MAPROOT
@@ -3087,7 +3081,7 @@
+ else {
+ if (old == *new)
+ /* old and new is same pointer we free before */
-+ free(old);
++ if (old) free(old);
+ /* provide new allocated buffer */
+ *new = xmalloc(strlen(root_map_vec[i].new)+1);
+ strcpy(*new, root_map_vec[i].new);
@@ -3107,7 +3101,7 @@
+ sprintf(*new, "%s%s", root_map_vec[i].new, old+n);
+ if (old == oldnew)
+ /* old and new is same pointer we free before */
-+ free(old);
++ if (old) free(old);
+ }
+ rv = 1;
+ break;
@@ -3120,7 +3114,7 @@
/* 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
-@@ -894,3 +976,471 @@
+@@ -1070,3 +1152,471 @@
/* NOTREACHED */
}
#endif
@@ -3595,11 +3589,11 @@
Index: src/sanity.sh
===================================================================
RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/sanity.sh,v
-retrieving revision 1.1.1.16
-diff -u -d -r1.1.1.16 sanity.sh
---- src/sanity.sh 9 Jun 2004 14:52:38 -0000 1.1.1.16
-+++ src/sanity.sh 9 Jun 2004 20:51:07 -0000
-@@ -391,6 +391,7 @@
+retrieving revision 1.1.1.18
+diff -u -d -r1.1.1.18 sanity.sh
+--- src/sanity.sh 9 Dec 2004 21:17:37 -0000 1.1.1.18
++++ src/sanity.sh 8 Apr 2005 09:42:36 -0000
+@@ -416,6 +416,7 @@
# "debugger"
#set -x
@@ -3607,7 +3601,7 @@
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'
-@@ -10887,10 +10888,12 @@
+@@ -12187,10 +12188,12 @@
############################################################
# Check out the whole repository
mkdir 1; cd 1
@@ -3621,7 +3615,7 @@
U CVSROOT/loginfo
U CVSROOT/modules
U CVSROOT/notify
-@@ -10908,10 +10911,12 @@
+@@ -12213,10 +12216,12 @@
############################################################
# Check out CVSROOT
mkdir 1; cd 1
@@ -3635,7 +3629,7 @@
U CVSROOT/loginfo
U CVSROOT/modules
U CVSROOT/notify
-@@ -10932,10 +10937,12 @@
+@@ -12242,10 +12247,12 @@
mkdir 1; cd 1
dotest modules-3 "${testcvs} -q co somedir" ''
cd somedir
@@ -3649,7 +3643,7 @@
U CVSROOT/loginfo
U CVSROOT/modules
U CVSROOT/notify
-@@ -22110,7 +22117,7 @@
+@@ -24417,7 +24424,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.
@@ -3661,13 +3655,13 @@
Index: src/server.c
===================================================================
RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/server.c,v
-retrieving revision 1.1.1.17
-diff -u -d -r1.1.1.17 server.c
---- src/server.c 9 Jun 2004 14:52:39 -0000 1.1.1.17
-+++ src/server.c 9 Jun 2004 20:51:08 -0000
-@@ -112,6 +112,16 @@
+retrieving revision 1.1.1.19
+diff -u -d -r1.1.1.19 server.c
+--- src/server.c 9 Dec 2004 19:34:43 -0000 1.1.1.19
++++ src/server.c 8 Apr 2005 13:49:20 -0000
+@@ -116,6 +116,16 @@
+
- # endif /* AUTH_SERVER_SUPPORT */
+#ifdef RSE_PATCH_PSERVERD
+#include <sys/ioctl.h>
@@ -3679,12 +3673,12 @@
+#endif
+#endif
+
-
/* 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
-@@ -695,6 +705,13 @@
-
- if (error_pending()) return;
+ for all the data to be sent. */
+@@ -785,6 +795,13 @@
+ #endif /* PROXY_SUPPORT */
+ ) return;
+#ifdef RSE_PATCH_MAPROOT
+ {
@@ -3696,17 +3690,17 @@
if (!isabsolute (arg))
{
if (alloc_pending (80 + strlen (arg)))
-@@ -1121,6 +1138,9 @@
- TRACE (TRACE_FUNCTION, "serve_directory (%s)", arg ? arg : "(null)");
-
+@@ -1264,6 +1281,9 @@
+ * processing of anything other than errors is skipped until later.
+ */
status = buf_read_line (buf_from_net, &repos, NULL);
+#ifdef RSE_PATCH_MAPROOT
+ root_map_it(repos, &repos, 1);
+#endif
if (status == 0)
{
- if (!outside_root (repos))
-@@ -4014,6 +4034,17 @@
+ if (!isabsolute (repos))
+@@ -4776,6 +4796,17 @@
}
/* See server.h for description. */
@@ -3724,7 +3718,7 @@
void
server_modtime (struct file_info *finfo, Vers_TS *vers_ts)
-@@ -4760,6 +4791,9 @@
+@@ -5722,6 +5753,9 @@
REQ_LINE("expand-modules", serve_expand_modules, 0),
REQ_LINE("ci", serve_ci, RQ_ESSENTIAL),
REQ_LINE("co", serve_co, RQ_ESSENTIAL),
@@ -3734,7 +3728,7 @@
REQ_LINE("update", serve_update, RQ_ESSENTIAL),
REQ_LINE("diff", serve_diff, 0),
REQ_LINE("log", serve_log, 0),
-@@ -5459,8 +5493,13 @@
+@@ -6514,8 +6548,13 @@
{
char *env;
@@ -3748,9 +3742,9 @@
(void) putenv (env);
env = xmalloc (sizeof "USER=" + strlen (username));
-@@ -5996,6 +6035,10 @@
- || !strip_trailing_newlines (password))
- error (1, 0, "Maximum line length exceeded during authentication.");
+@@ -7069,6 +7108,10 @@
+ pserver_read_line (&username, NULL);
+ pserver_read_line (&password, NULL);
+#ifdef RSE_PATCH_MAPROOT
+ root_map_it(repository, &repository, 0);
@@ -3758,8 +3752,8 @@
+
/* ... and make sure the protocol ends on the right foot. */
/* See above comment about error handling. */
- getnline( &tmp, &tmp_allocated, PATH_MAX, stdin );
-@@ -6745,3 +6788,519 @@
+ pserver_read_line (&tmp, NULL);
+@@ -7816,3 +7859,519 @@
cvs_output (text, 0);
}
}
@@ -4282,11 +4276,11 @@
Index: src/subr.c
===================================================================
RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/subr.c,v
-retrieving revision 1.1.1.14
-diff -u -d -r1.1.1.14 subr.c
---- src/subr.c 9 Jun 2004 14:52:39 -0000 1.1.1.14
-+++ src/subr.c 9 Jun 2004 20:51:08 -0000
-@@ -250,6 +250,22 @@
+retrieving revision 1.1.1.16
+diff -u -d -r1.1.1.16 subr.c
+--- src/subr.c 30 Nov 2004 19:57:10 -0000 1.1.1.16
++++ src/subr.c 8 Apr 2005 13:18:45 -0000
+@@ -295,6 +295,22 @@
uid_t uid;
#endif
@@ -4309,7 +4303,7 @@
/* If there is a CVS username, return it. */
#ifdef AUTH_SERVER_SUPPORT
if (CVS_Username != NULL)
-@@ -778,6 +794,73 @@
+@@ -831,6 +847,72 @@
return backup_name;
}
@@ -4379,18 +4373,17 @@
+ return 1;
+}
+#endif
-+
+
+
/*
- * Copy a string into a buffer escaping any shell metacharacters. The
- * buffer should be at least twice as long as the string.
Index: src/update.c
===================================================================
RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/update.c,v
-retrieving revision 1.1.1.14
-diff -u -d -r1.1.1.14 update.c
---- src/update.c 8 May 2004 23:13:10 -0000 1.1.1.14
-+++ src/update.c 19 May 2004 18:33:43 -0000
-@@ -1747,6 +1747,17 @@
+retrieving revision 1.1.1.15
+diff -u -d -r1.1.1.15 update.c
+--- src/update.c 4 Nov 2004 15:15:29 -0000 1.1.1.15
++++ src/update.c 8 Apr 2005 09:42:37 -0000
+@@ -1753,6 +1753,17 @@
patch can't handle that. */
fail = 1;
}
@@ -4408,7 +4401,7 @@
fclose (e);
}
-@@ -2555,8 +2566,16 @@
+@@ -2561,8 +2572,16 @@
write_letter (finfo, 'C');
}
else
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/cvs/cvs.spec
============================================================================
$ cvs diff -u -r1.96 -r1.97 cvs.spec
--- openpkg-src/cvs/cvs.spec 24 Mar 2005 11:18:36 -0000 1.96
+++ openpkg-src/cvs/cvs.spec 8 Apr 2005 15:04:22 -0000 1.97
@@ -23,7 +23,7 @@
##
# the involved versions
-%define V_cvs 1.12.9
+%define V_cvs 1.12.11
%define V_cvslock 0.2
# package information
@@ -37,7 +37,7 @@
Group: SCM
License: GPL
Version: %{V_cvs}
-Release: 20050213
+Release: 20050408
# package options
%option with_fsl yes
@@ -45,7 +45,7 @@
%option with_rse_cvsuser cvs
# list of sources
-Source0:
https://ccvs.cvshome.org/files/documents/19/201/cvs-%{V_cvs}.tar.gz
+Source0:
https://ccvs.cvshome.org/files/documents/19/610/cvs-%{V_cvs}.tar.bz2
Source1:
ftp://riemann.iam.uni-bonn.de/pub/users/roessler/cvslock/cvslock-%{V_cvslock}.tar.gz
Source2: rc.cvs
Source3: fsl.cvs
@@ .
______________________________________________________________________
The OpenPKG Project www.openpkg.org
CVS Repository Commit List [email protected]