? diff/libdiff.plg ? diff/libdiff.mak ? zlib/zlib.plg ? zlib/zlib.mak Index: NEWS =================================================================== RCS file: /home2/cvsroot/ccvs/NEWS,v retrieving revision 1.84 diff -c -r1.84 NEWS *** NEWS 2000/10/17 19:11:33 1.84 --- NEWS 2000/10/18 00:49:58 *************** *** 1,5 **** --- 1,9 ---- Changes since 1.11: + * The 'modules' file now supports the '-r' switch. This allows the creation of + version specific module names that automatically check out the proper version + or branch tag. + * The ~/.cvspass file has a slightly modified format. Now two slightly different CVSROOTs which represent the same repository and user name no longer require separate calls to 'cvs login' to use. The new code should be backwards Index: src/ChangeLog =================================================================== RCS file: /home2/cvsroot/ccvs/src/ChangeLog,v retrieving revision 1.1974 diff -c -r1.1974 ChangeLog *** src/ChangeLog 2000/10/17 18:42:28 1.1974 --- src/ChangeLog 2000/10/18 00:49:59 *************** *** 1,3 **** --- 1,10 ---- + 2000-10-17 Scott Stanton + + * checkout.c (checkout): Added support for the '-r' option to the + modules file. + * modules.c (do_module): Made the 'tag' variable non-static so it + can be used from the checkout file. + 2000-10-17 Derek Price * cvs.h: added CVSroot_password variable. Provided prototypes for Index: src/checkout.c =================================================================== RCS file: /home2/cvsroot/ccvs/src/checkout.c,v retrieving revision 1.91 diff -c -r1.91 checkout.c *** src/checkout.c 2000/09/27 14:33:15 1.91 --- src/checkout.c 2000/10/18 00:50:03 *************** *** 86,92 **** static int pipeout; static int aflag; static char *options = NULL; ! static char *tag = NULL; static int tag_validated = 0; static char *date = NULL; static char *join_rev1 = NULL; --- 86,92 ---- static int pipeout; static int aflag; static char *options = NULL; ! char *tag = NULL; static int tag_validated = 0; static char *date = NULL; static char *join_rev1 = NULL; Index: src/modules.c =================================================================== RCS file: /home2/cvsroot/ccvs/src/modules.c,v retrieving revision 1.60 diff -c -r1.60 modules.c *** src/modules.c 2000/07/26 19:29:01 1.60 --- src/modules.c 2000/10/18 00:50:03 *************** *** 24,36 **** #include "cvs.h" #include "savecwd.h" /* Defines related to the syntax of the modules file. */ /* Options in modules file. Note that it is OK to use GNU getopt features; we already are arranging to make sure we are using the getopt distributed with CVS. */ ! #define CVSMODULE_OPTS "+ad:i:lo:e:s:t:u:" /* Special delimiter. */ #define CVSMODULE_SPEC '&' --- 24,38 ---- #include "cvs.h" #include "savecwd.h" + extern char *tag; + /* Defines related to the syntax of the modules file. */ /* Options in modules file. Note that it is OK to use GNU getopt features; we already are arranging to make sure we are using the getopt distributed with CVS. */ ! #define CVSMODULE_OPTS "+ad:i:lo:e:r:s:t:u:" /* Special delimiter. */ #define CVSMODULE_SPEC '&' *************** *** 132,137 **** --- 134,141 ---- char *cp; int c, err = 0; int nonalias_opt = 0; + char *default_tag = NULL; + int restore_tag; #ifdef SERVER_SUPPORT int restore_server_dir = 0; *************** *** 447,452 **** --- 451,462 ---- export_prog = xstrdup (optarg); nonalias_opt = 1; break; + case 'r': + nonalias_opt = 1; + if (default_tag) + free (default_tag); + default_tag = xstrdup (optarg); + break; case 't': if (tag_prog) free (tag_prog); *************** *** 516,521 **** --- 526,541 ---- goto do_module_return; } + if (default_tag && !tag) + { + restore_tag = 1; + tag = default_tag; + } + else + { + restore_tag = 0; + } + /* otherwise, process this module */ if (modargc > 0) { *************** *** 574,579 **** --- 594,603 ---- do_special: + if (restore_tag) + { + tag = NULL; + } free_names (&xmodargc, xmodargv); xmodargv = NULL;