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: 03-Oct-2005 16:20:36 Branch: HEAD Handle: 2005100315203500 Modified files: openpkg-src/cvs cvs.patch.rse Log: reduce patch set Summary: Revision Changes Path 1.19 +50 -228 openpkg-src/cvs/cvs.patch.rse ____________________________________________________________________________ patch -p0 <<'@@ .' Index: openpkg-src/cvs/cvs.patch.rse ============================================================================ $ cvs diff -u -r1.18 -r1.19 cvs.patch.rse --- openpkg-src/cvs/cvs.patch.rse 3 Oct 2005 13:58:48 -0000 1.18 +++ openpkg-src/cvs/cvs.patch.rse 3 Oct 2005 14:20:35 -0000 1.19 @@ -3,8 +3,8 @@ RCS file: src/README.RSE diff -N src/README.RSE --- /dev/null 1 Jan 1970 00:00:00 -0000 -+++ src/README.RSE 3 Oct 2005 13:53:43 -0000 -@@ -0,0 +1,310 @@ ++++ src/README.RSE 3 Oct 2005 14:09:04 -0000 +@@ -0,0 +1,277 @@ + + CVS RSE Patches + =============== @@ -154,23 +154,6 @@ + working remotely over slow Internet links. + [Origin: OpenBSD] + -+ RSE_PATCH_MERGENOKEYWORD: -+ This disables keyword expansions during branch merges which is -+ very useful in long-term branching. Without this the so-called -+ `spurious merging conflicts' occur because the keywords cause -+ spurious conflicts on every merge after the first (if those text -+ files have been modified on the trunk since the previous merge out -+ to the branch). -+ [Origin: Jay Sachs <[EMAIL PROTECTED]>] -+ -+ RSE_PATCH_DIFFHEAD: -+ This patch changes the behavior of `cvs diff -rHEAD' on branches. -+ HEAD here now behaves with as it does with all other CVS commands, -+ as a name for the head of the trunk (the old behavior of `cvs diff -+ -rHEAD' was to treat HEAD to mean the head of the branch, while all -+ the other commands already treated HEAD as the head of the trunk). -+ [Origin: Stephen Cameron <[EMAIL PROTECTED]>] -+ + RSE_PATCH_LOGNAME: + This is for SUID-based CVS servers and passes in `$LOGNAME' the real + user (first field in `$CVSROOT/CVSROOT/passwd') instead of the SUID @@ -183,13 +166,6 @@ + different path. + [Origin: Ralf S. Engelschall] + -+ RSE_PATCH_SMARTCONFIG: -+ This allows one to add custom configuration variables to -+ `$CVSROOT/CVSROOT/config' without having CVS complain about them and -+ fail with an error. This is useful to use the config file also for -+ storing config details for the various admin scripts. -+ [Origin: Ralf S. Engelschall] -+ + RSE_PATCH_ADMININFO: + This adds the feature of an extra `$CVSROOT/CVSROOT/admininfo' + configuration file which can be used for access controlling `cvs @@ -244,7 +220,7 @@ + + RSE_PATCH_CVSUSER: + This allows the Unix user RSE_PATCH_CVSUSER_CALLER (per default -+ "ossp-cvs") to use the environment variable CVSUSER to override the ++ "cvs") to use the environment variable CVSUSER to override the + login name CVS uses to identify the caller. This is intended for use + with a CVS setuid wrapper program or for use manually by the CVS + administrator. @@ -306,15 +282,6 @@ + official CVS version. + [Origin: Ralf S. Engelschall] + -+ RSE_PATCH_COSMETICS: -+ This just enables some cosmetic changes to various output messages. -+ [Origin: Ralf S. Engelschall] -+ -+ RSE_PATCH_COSMETICS_HARD: -+ This just enables more cosmetic changes to various output messages. -+ The difference is that these break "make check". -+ [Origin: Ralf S. Engelschall] -+ Index: src/add.c =================================================================== RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/add.c,v @@ -527,35 +494,8 @@ retrieving revision 1.1.1.7 diff -u -d -r1.1.1.7 checkin.c --- src/checkin.c 17 Mar 2005 19:42:23 -0000 1.1.1.7 -+++ src/checkin.c 3 Oct 2005 12:50:06 -0000 -@@ -31,6 +31,9 @@ - Vers_TS *vers; - int set_time; - char *tocvsPath = NULL; -+#ifdef RSE_PATCH_COSMETICS_HARD -+ int flags; -+#endif - - tocvsPath = wrap_tocvs_process_file (finfo->file); - if (!noexec) -@@ -51,8 +54,16 @@ - */ - assert (finfo->rcs != NULL); - -+#ifdef RSE_PATCH_COSMETICS_HARD -+ flags = RCS_FLAGS_KEEPFILE; -+ if (really_quiet || quiet) -+ flags |= RCS_FLAGS_QUIET; -+ switch (RCS_checkin (finfo->rcs, finfo->update_dir, finfo->file, message, -+ rev, 0, flags)) -+#else - switch (RCS_checkin (finfo->rcs, finfo->update_dir, finfo->file, message, - rev, 0, RCS_FLAGS_KEEPFILE)) -+#endif - { - case 0: /* everything normal */ - -@@ -117,6 +128,16 @@ ++++ src/checkin.c 3 Oct 2005 14:05:42 -0000 +@@ -117,6 +117,16 @@ history_write (type, NULL, vers->vn_rcs, finfo->file, finfo->repository); @@ -744,8 +684,8 @@ retrieving revision 1.1.1.19 diff -u -d -r1.1.1.19 cvs.h --- src/cvs.h 14 Apr 2005 14:14:55 -0000 1.1.1.19 -+++ src/cvs.h 3 Oct 2005 13:49:49 -0000 -@@ -12,6 +12,44 @@ ++++ src/cvs.h 3 Oct 2005 14:12:33 -0000 +@@ -12,6 +12,38 @@ */ /* @@ -774,23 +714,17 @@ +#define RSE_PATCH_PSERVERD +#define RSE_PATCH_MAPROOT +#define RSE_PATCH_CHROOT -+#define RSE_PATCH_COSMETICS +#define RSE_PATCH_HASHFUNC +#define RSE_PATCH_ADDFILEATTR +#define RSE_PATCH_CVSPID +#define RSE_PATCH_BUGFIX -+/* problematic changes, because they break "make check" */ -+#undef RSE_PATCH_COSMETICS_HARD -+#undef RSE_PATCH_MERGENOKEYWORD -+#undef RSE_PATCH_DIFFHEAD -+#undef RSE_PATCH_SMARTCONFIG +#endif + +/* * basic information used in all source files * */ -@@ -180,6 +218,33 @@ +@@ -180,6 +212,33 @@ #define CVSROOTADM_VERIFYMSG "verifymsg" #define CVSROOTADM_WRAPPER "cvswrappers" #define CVSROOTADM_WRITERS "writers" @@ -824,7 +758,7 @@ #define CVSNULLREPOS "Emptydir" /* an empty directory */ -@@ -464,6 +529,27 @@ +@@ -464,6 +523,27 @@ const char *Short_Repository (const char *repository); void Sanitize_Repository_Name (char *repository); @@ -852,7 +786,7 @@ char *entries_time (time_t unixtime); time_t unix_time_stamp (const char *file); char *time_stamp (const char *file); -@@ -594,6 +680,14 @@ +@@ -594,6 +674,14 @@ void expand_wild (int argc, char **argv, int *pargc, char ***pargv); @@ -867,7 +801,7 @@ /* exithandle.c */ void signals_register (RETSIGTYPE (*handler)(int)); void cleanup_register (void (*handler) (void)); -@@ -797,6 +891,9 @@ +@@ -797,6 +885,9 @@ NULL for add or import */ char *rev_new; /* rev number after a commit/modify, add, or import, NULL for remove */ @@ -877,7 +811,7 @@ }; /* Wrappers. */ -@@ -837,6 +934,13 @@ +@@ -837,6 +928,13 @@ int unedit (int argc, char **argv); int editors (int argc, char **argv); int watchers (int argc, char **argv); @@ -891,7 +825,7 @@ int annotate (int argc, char **argv); int add (int argc, char **argv); int admin (int argc, char **argv); -@@ -896,4 +1000,8 @@ +@@ -896,4 +994,8 @@ void cvs_flushout (void); void cvs_output_tagged (const char *, const char *); @@ -1211,7 +1145,7 @@ retrieving revision 1.1.1.13 diff -u -d -r1.1.1.13 diff.c --- src/diff.c 15 Mar 2005 17:45:09 -0000 1.1.1.13 -+++ src/diff.c 3 Oct 2005 13:36:30 -0000 ++++ src/diff.c 3 Oct 2005 14:06:28 -0000 @@ -283,7 +283,11 @@ * to diff. */ @@ -1254,42 +1188,6 @@ case 'N': empty_files = 1; break; -@@ -501,7 +520,11 @@ - char *head = - (vers->vn_rcs == NULL - ? NULL -+#ifdef RSE_PATCH_DIFFHEAD -+ : RCS_head (vers->srcfile)); -+#else - : RCS_branch_head (vers->srcfile, vers->vn_rcs)); -+#endif - exists = head != NULL && !RCS_isdead (vers->srcfile, head); - if (head != NULL) - free (head); -@@ -888,7 +911,11 @@ - if (diff_rev1 && strcmp (diff_rev1, TAG_HEAD) == 0) - { - if (vers->vn_rcs != NULL && vers->srcfile != NULL) -+#ifdef RSE_PATCH_DIFFHEAD -+ use_rev1 = RCS_head (vers->srcfile); -+#else - use_rev1 = RCS_branch_head (vers->srcfile, vers->vn_rcs); -+#endif - } - else - { -@@ -904,7 +931,11 @@ - if (diff_rev2 && strcmp (diff_rev2, TAG_HEAD) == 0) - { - if (vers->vn_rcs && vers->srcfile) -+#ifdef RSE_PATCH_DIFFHEAD -+ use_rev2 = RCS_head (vers->srcfile); -+#else - use_rev2 = RCS_branch_head (vers->srcfile, vers->vn_rcs); -+#endif - } - else - { Index: src/hash.c =================================================================== RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/hash.c,v @@ -1375,7 +1273,7 @@ retrieving revision 1.1.1.12 diff -u -d -r1.1.1.12 import.c --- src/import.c 14 Apr 2005 14:14:55 -0000 1.1.1.12 -+++ src/import.c 3 Oct 2005 13:43:39 -0000 ++++ src/import.c 3 Oct 2005 14:08:54 -0000 @@ -69,6 +69,141 @@ NULL }; @@ -1531,31 +1429,7 @@ /* * Make all newly created directories writable. Should really use a more * sophisticated security mechanism here. -@@ -375,7 +516,11 @@ - "Use the following command to help the merge:"); - cvs_output_tagged ("newline", NULL); - cvs_output_tagged ("newline", NULL); -+#ifdef RSE_PATCH_COSMETICS -+ cvs_output_tagged ("text", " "); -+#else - cvs_output_tagged ("text", "\t"); -+#endif - cvs_output_tagged ("text", program_name); - if (CVSroot_cmdline != NULL) - { -@@ -405,7 +550,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 -+ (void) fprintf (logfp, " %s checkout ", program_name); -+#else - (void) fprintf (logfp, "\t%s checkout ", program_name); -+#endif - (void) fprintf (logfp, "-j%s:yesterday -j%s %s\n\n", - argv[1], argv[1], argv[0]); - } -@@ -428,6 +577,9 @@ +@@ -428,6 +569,9 @@ li->type = T_TITLE; li->tag = xstrdup (vbranch); li->rev_old = li->rev_new = NULL; @@ -1565,7 +1439,7 @@ p->data = li; (void) addnode (ulist, p); Update_Logfile (repository, message, logfp, ulist); -@@ -724,7 +876,11 @@ +@@ -724,7 +868,11 @@ */ if (add_tags (vers->srcfile, vfile, vtag, targc, targv)) retval = 1; @@ -1637,7 +1511,7 @@ retrieving revision 1.1.1.18 diff -u -d -r1.1.1.18 main.c --- src/main.c 17 Mar 2005 19:42:23 -0000 1.1.1.18 -+++ src/main.c 3 Oct 2005 13:49:35 -0000 ++++ src/main.c 3 Oct 2005 14:17:54 -0000 @@ -26,6 +26,10 @@ const char *program_path; const char *cvs_cmd_name; @@ -1725,21 +1599,7 @@ static const char *const usg[] = { /* CVS usage messages never have followed the GNU convention of -@@ -185,9 +241,13 @@ - paragraph in ../cvs.spec without assuming the reader knows what - version control means. */ - -+#ifdef RSE_PATCH_COSMETICS -+ "For CVS updates and additional information, see http://www.cvshome.org/\n", -+#else - "For CVS updates and additional information, see\n", - " the CVS home page at http://www.cvshome.org/ or\n", - " the CVSNT home page at http://www.cvsnt.org/\n", -+#endif - NULL, - }; - -@@ -214,6 +274,9 @@ +@@ -214,6 +270,9 @@ " login Prompt for password for authenticating server\n", " logout Removes entry in .cvspass for remote repository\n", #endif /* AUTH_CLIENT_SUPPORT */ @@ -1749,7 +1609,7 @@ " ls List files available from CVS\n", #if (defined(AUTH_SERVER_SUPPORT) || defined (HAVE_GSSAPI)) && defined(SERVER_SUPPORT) " pserver Password server mode\n", -@@ -235,6 +298,9 @@ +@@ -235,6 +294,9 @@ " version Show current CVS version(s)\n", " watch Set watches\n", " watchers See who is watching a file\n", @@ -1759,7 +1619,7 @@ "(Specify the --help option for a list of other help options)\n", NULL, }; -@@ -264,6 +330,10 @@ +@@ -264,6 +326,10 @@ #endif " -a Authenticate all net traffic.\n", #endif @@ -1770,7 +1630,7 @@ " -s VAR=VAL Set CVS user variable.\n", "(Specify the --help option for a list of other help options)\n", NULL -@@ -329,6 +399,20 @@ +@@ -329,6 +395,20 @@ if (strcmp (cmd_name, cm->fullname) == 0) break; } @@ -1791,7 +1651,7 @@ if (!cm->fullname) error (1, 0, "unknown command: %s", cmd_name); return cm->attr; -@@ -425,11 +509,30 @@ +@@ -425,11 +505,30 @@ int tmpdir_update_env; int free_Editor = 0; int free_Tmpdir = 0; @@ -1822,7 +1682,7 @@ static struct option long_options[] = { {"help", 0, NULL, 'H'}, -@@ -439,6 +542,12 @@ +@@ -439,6 +538,12 @@ {"help-options", 0, NULL, 4}, #ifdef SERVER_SUPPORT {"allow-root", required_argument, NULL, 3}, @@ -1835,7 +1695,7 @@ #endif /* SERVER_SUPPORT */ {0, 0, 0, 0} }; -@@ -498,6 +607,10 @@ +@@ -498,6 +603,10 @@ readonlyfs = 1; logoff = 1; } @@ -1846,7 +1706,7 @@ /* Set this to 0 to force getopt initialization. getopt() sets this to 1 internally. */ -@@ -517,12 +630,60 @@ +@@ -517,12 +626,60 @@ use_cvsrc = 0; } @@ -1907,7 +1767,7 @@ optind = 0; opterr = 1; -@@ -549,6 +710,24 @@ +@@ -549,6 +706,24 @@ /* --allow-root */ root_allow_add (optarg); break; @@ -1932,7 +1792,7 @@ #endif /* SERVER_SUPPORT */ case 'Q': really_quiet = 1; -@@ -614,7 +793,31 @@ +@@ -614,7 +789,31 @@ case 'd': if (CVSroot_cmdline != NULL) free (CVSroot_cmdline); @@ -1964,7 +1824,7 @@ break; case 'H': help = 1; -@@ -659,6 +862,28 @@ +@@ -659,6 +858,28 @@ We will issue an error later if stream authentication is not supported. */ break; @@ -1993,18 +1853,10 @@ case '?': default: usage (usg); -@@ -670,12 +895,36 @@ - if (argc < 1) - usage (usg); - -+#ifndef RSE_PATCH_COSMETICS - if (readonlyfs && !really_quiet) { - error (0, 0, - "WARNING: Read-only repository access mode selected via `cvs -R'.\n\ +@@ -676,6 +897,28 @@ Using this option to access a repository which some users write to may\n\ cause intermittent sandbox corruption."); } -+#endif +#ifdef RSE_PATCH_CUSTOMCMD + /* Look up the custom command. */ + cm = NULL; @@ -2030,7 +1882,7 @@ /* Calculate the cvs global session ID */ -@@ -705,6 +954,10 @@ +@@ -705,6 +948,10 @@ else cvs_cmd_name = cm->fullname; /* Global pointer for later use */ @@ -2041,7 +1893,7 @@ if (help) { argc = -1; /* some functions only check for this */ -@@ -732,6 +985,116 @@ +@@ -732,6 +979,116 @@ CVSUMASK_ENV, cp); } @@ -2158,7 +2010,7 @@ #ifdef SERVER_SUPPORT # ifdef HAVE_KERBEROS -@@ -748,6 +1111,21 @@ +@@ -748,6 +1105,21 @@ } # endif /* HAVE_KERBEROS */ @@ -2180,7 +2032,7 @@ # if defined (AUTH_SERVER_SUPPORT) || defined (HAVE_GSSAPI) if (strcmp (cvs_cmd_name, "pserver") == 0) -@@ -772,6 +1150,10 @@ +@@ -772,6 +1144,10 @@ #endif /* SERVER_SUPPORT */ @@ -2191,7 +2043,7 @@ #ifdef SERVER_SUPPORT if (server_active) -@@ -850,8 +1232,12 @@ +@@ -850,8 +1226,12 @@ * in server mode, since the client will send the repository * directory after the connection is made. */ @@ -2204,7 +2056,7 @@ { /* First check if a root was set via the command line. */ if (CVSroot_cmdline) -@@ -907,6 +1293,48 @@ +@@ -907,6 +1287,48 @@ error (1, 0, "or set the %s environment variable.", CVSROOT_ENV); } @@ -2215,7 +2067,7 @@ + if (lookup_command_attribute(cvs_cmd_name) & CVS_CMD_MODIFIES_REPOSITORY) { + 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, ++ the slave repository, so switch to the master repository, + because we can only perform modifications there. */ + if (!quiet) { + fprintf(stderr, "%s: switching to MASTER location of repository `%s'\n", program_name, e->nickname); @@ -2231,9 +2083,9 @@ + } + else { + if ((e = cvsroot_lookup(NULL, CVSroot_parsed->original, NULL)) != NULL) { -+ if (e->slavepath[0] != '\0') { ++ if (e->slavepath[0] != '\0') { + /* command does not modify repository and we still operare on -+ the master repository, so switch to the slave repository, ++ the master repository, so switch to the slave repository, + because it is faster by definition. */ + if (!quiet) { + fprintf(stderr, "%s: switching to SLAVE location of repository `%s'\n", program_name, e->nickname); @@ -2253,7 +2105,7 @@ } /* Here begins the big loop over unique cvsroot values. We -@@ -939,6 +1367,9 @@ +@@ -939,6 +1361,9 @@ end of things. */ while ( @@ -2263,7 +2115,7 @@ #ifdef SERVER_SUPPORT server_active || #endif -@@ -950,8 +1381,12 @@ +@@ -950,8 +1375,12 @@ in server mode, since the client will send the repository directory after the connection is made. */ @@ -2276,7 +2128,7 @@ { /* Now we're 100% sure that we have a valid CVSROOT variable. Parse it to see if we're supposed to do -@@ -979,7 +1414,12 @@ +@@ -979,7 +1408,12 @@ save_errno = errno; /* If this is "cvs init", the root need not exist yet. */ @@ -2289,7 +2141,7 @@ error (1, save_errno, "%s", path); } free (path); -@@ -1012,6 +1452,9 @@ +@@ -1012,6 +1446,9 @@ read_cvsrc and other such places or vice versa. That sort of thing probably needs more thought. */ if (1 @@ -2299,7 +2151,7 @@ #ifdef SERVER_SUPPORT && !server_active #endif -@@ -1043,7 +1486,31 @@ +@@ -1043,7 +1480,31 @@ } #endif @@ -2331,7 +2183,7 @@ #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 -@@ -1056,6 +1523,9 @@ +@@ -1056,6 +1517,9 @@ !current_parsed_root->isremote && #endif !lock_cleanup_setup)) @@ -2341,7 +2193,7 @@ { /* Set up to clean up any locks we might create on exit. */ cleanup_register (Lock_Cleanup); -@@ -1064,7 +1534,32 @@ +@@ -1064,7 +1528,32 @@ /* Call our worker function. */ err = (*(cm->func)) (argc, argv); @@ -2374,7 +2226,7 @@ /* 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. */ -@@ -1087,6 +1582,10 @@ +@@ -1087,6 +1576,10 @@ #endif } /* end of loop for cvsroot values */ @@ -2385,7 +2237,7 @@ dellist (&root_directories); } /* end of stuff that gets done if the user DOESN'T ask for help */ -@@ -1346,6 +1845,12 @@ +@@ -1346,6 +1839,12 @@ TRACE (TRACE_FUNCTION, "format_date (%s)", datestr); @@ -2495,7 +2347,7 @@ retrieving revision 1.1.1.14 diff -u -d -r1.1.1.14 parseinfo.c --- src/parseinfo.c 17 Mar 2005 19:42:23 -0000 1.1.1.14 -+++ src/parseinfo.c 3 Oct 2005 13:38:22 -0000 ++++ src/parseinfo.c 3 Oct 2005 14:07:11 -0000 @@ -13,6 +13,9 @@ #include "cvs.h" @@ -2548,19 +2400,6 @@ else if (strcmp (line, "UserAdminOptions") == 0) retval->UserAdminOptions = xstrdup (p); else if (strcmp (line, "UseNewInfoFmtStrings") == 0) -@@ -571,8 +601,12 @@ - particularly recommended unless you are planning on using - the new features. */ - if (!parse_error (infopath, ln)) -+#ifndef RSE_PATCH_SMARTCONFIG - error (0, 0, "%s [%u]: unrecognized keyword `%s'", - infopath, ln, line); -+#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 @@ -3925,7 +3764,7 @@ retrieving revision 1.1.1.16 diff -u -d -r1.1.1.16 update.c --- src/update.c 14 Apr 2005 14:14:58 -0000 1.1.1.16 -+++ src/update.c 3 Oct 2005 12:50:10 -0000 ++++ src/update.c 3 Oct 2005 14:05:09 -0000 @@ -1746,6 +1746,17 @@ patch can't handle that. */ fail = 1; @@ -3944,23 +3783,6 @@ fclose (e); } -@@ -2544,8 +2555,16 @@ - write_letter (finfo, 'C'); - } - else -+#ifdef RSE_PATCH_MERGENOKEYWORD -+ { -+ if (*t_options == '\0') -+ t_options = "-kk"; /* to ignore keyword expansions */ -+#endif - status = RCS_merge (finfo->rcs, vers->srcfile->path, finfo->file, - t_options, rev1, rev2); -+#ifdef RSE_PATCH_MERGENOKEYWORD -+ } -+#endif - - if (status != 0) - { Index: src/version.c =================================================================== RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/version.c,v @@ . ______________________________________________________________________ The OpenPKG Project www.openpkg.org CVS Repository Commit List openpkg-cvs@openpkg.org