cvs-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Cvs-cvs] ccvs ChangeLog NEWS doc/ChangeLog doc/cvs.1 doc...


From: Mark D. Baushke
Subject: [Cvs-cvs] ccvs ChangeLog NEWS doc/ChangeLog doc/cvs.1 doc...
Date: Fri, 25 Jan 2008 07:17:38 +0000

CVSROOT:        /cvsroot/cvs
Module name:    ccvs
Changes by:     Mark D. Baushke <mdb>   08/01/25 07:17:37

Modified files:
        .              : ChangeLog NEWS 
        doc            : ChangeLog cvs.1 cvs.texinfo stamp-vti 
                         version.texi 
        src            : ChangeLog client.h edit.c edit.h log.c main.c 
                         recurse.c root.c sanity.sh 

Log message:
        Merge changes from 1.11.x.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/ccvs/ChangeLog?cvsroot=cvs&r1=1.1362&r2=1.1363
http://cvs.savannah.gnu.org/viewcvs/ccvs/NEWS?cvsroot=cvs&r1=1.375&r2=1.376
http://cvs.savannah.gnu.org/viewcvs/ccvs/doc/ChangeLog?cvsroot=cvs&r1=1.983&r2=1.984
http://cvs.savannah.gnu.org/viewcvs/ccvs/doc/cvs.1?cvsroot=cvs&r1=1.54&r2=1.55
http://cvs.savannah.gnu.org/viewcvs/ccvs/doc/cvs.texinfo?cvsroot=cvs&r1=1.703&r2=1.704
http://cvs.savannah.gnu.org/viewcvs/ccvs/doc/stamp-vti?cvsroot=cvs&r1=1.206&r2=1.207
http://cvs.savannah.gnu.org/viewcvs/ccvs/doc/version.texi?cvsroot=cvs&r1=1.208&r2=1.209
http://cvs.savannah.gnu.org/viewcvs/ccvs/src/ChangeLog?cvsroot=cvs&r1=1.3555&r2=1.3556
http://cvs.savannah.gnu.org/viewcvs/ccvs/src/client.h?cvsroot=cvs&r1=1.64&r2=1.65
http://cvs.savannah.gnu.org/viewcvs/ccvs/src/edit.c?cvsroot=cvs&r1=1.103&r2=1.104
http://cvs.savannah.gnu.org/viewcvs/ccvs/src/edit.h?cvsroot=cvs&r1=1.14&r2=1.15
http://cvs.savannah.gnu.org/viewcvs/ccvs/src/log.c?cvsroot=cvs&r1=1.111&r2=1.112
http://cvs.savannah.gnu.org/viewcvs/ccvs/src/main.c?cvsroot=cvs&r1=1.275&r2=1.276
http://cvs.savannah.gnu.org/viewcvs/ccvs/src/recurse.c?cvsroot=cvs&r1=1.128&r2=1.129
http://cvs.savannah.gnu.org/viewcvs/ccvs/src/root.c?cvsroot=cvs&r1=1.130&r2=1.131
http://cvs.savannah.gnu.org/viewcvs/ccvs/src/sanity.sh?cvsroot=cvs&r1=1.1191&r2=1.1192

Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/cvs/ccvs/ChangeLog,v
retrieving revision 1.1362
retrieving revision 1.1363
diff -u -b -r1.1362 -r1.1363
--- ChangeLog   14 Dec 2007 21:38:48 -0000      1.1362
+++ ChangeLog   25 Jan 2008 07:17:29 -0000      1.1363
@@ -1,3 +1,9 @@
+2008-01-24  Mark D. Baushke  <address@hidden>
+
+       * NEWS: Note that :extssh: method was fixed. New `cvs blame' as an
+       alias for `cvs annotate' command. New `cvs log -n' switch to undo
+       a `log -N' entry in a .cvsrc file.
+
 2007-12-14  Larry Jones  <address@hidden>
 
        * configure.in: Restore test for mmap that was inadvertently removed

Index: NEWS
===================================================================
RCS file: /cvsroot/cvs/ccvs/NEWS,v
retrieving revision 1.375
retrieving revision 1.376
diff -u -b -r1.375 -r1.376
--- NEWS        22 Aug 2007 20:00:46 -0000      1.375
+++ NEWS        25 Jan 2008 07:17:29 -0000      1.376
@@ -31,7 +31,12 @@
   expose the real version instead of NONE for removed files.
 
 * A new command line option, --allow-root-regexp, was added which allows
-acceptable repositories to be specified using a list of regular expressions.
+  acceptable repositories to be specified using a list of regular expressions.
+
+* A new log option -n reverts the -N option which may be in a .cvsrc
+  file.
+
+* The `cvs blame' command is now a synonym for the `cvs annotate' command.
 
 BUG FIXES
 
@@ -65,6 +70,8 @@
 * Thanks to a report and patch from <address@hidden>, potential stack
   corruption during pserver login is avoided (bug #16961).
 
+* The :extssh: method is now properly recognized as an alias for :ext:.
+
 * The CVS client again correctly reports files with conflicts when using
   servers running CVS 1.11.20/1.12.12, or earlier (and maybe 3rd party
   servers).

Index: doc/ChangeLog
===================================================================
RCS file: /cvsroot/cvs/ccvs/doc/ChangeLog,v
retrieving revision 1.983
retrieving revision 1.984
diff -u -b -r1.983 -r1.984
--- doc/ChangeLog       19 Oct 2007 21:53:48 -0000      1.983
+++ doc/ChangeLog       25 Jan 2008 07:17:30 -0000      1.984
@@ -1,3 +1,13 @@
+2008-01-24  Mark D. Baushke  <address@hidden>
+
+       * cvs.texinfo (log options): Document the new cvs log -n
+       switch to reverse the -N switch.
+       * cvs.texinfo (annotate & rannotate): Document "blame" as a
+       synonym for the "annotate" command.
+       (Patch suggested by "David O'Brien" <address@hidden>)
+
+       * cvs.1, stamp-vti, version.texi: Regenerated.
+
 2007-10-19  Derek Price  <address@hidden>
 
        * cvs.texinfo: Update Ximbiot's address and Copyright dates.

Index: doc/cvs.1
===================================================================
RCS file: /cvsroot/cvs/ccvs/doc/cvs.1,v
retrieving revision 1.54
retrieving revision 1.55
diff -u -b -r1.54 -r1.55
--- doc/cvs.1   28 Aug 2007 17:29:46 -0000      1.54
+++ doc/cvs.1   25 Jan 2008 07:17:30 -0000      1.55
@@ -1350,6 +1350,8 @@
 .IP "\(bu" 2
 Requires: repository.
 .IP "\(bu" 2
+Synonym: blame
+.IP "\(bu" 2
 Changes: nothing.
 .SP
 For each file in \fIfiles\fR, print the head revision
@@ -3389,6 +3391,14 @@
 tags at all.
 .SP
 .IP "" 0
+\fB-n\fR
+.IP "" 2
+Print the list of tags for this file. This option can
+be very useful when your \fB.cvsrc\fR file has a
+\fBlog -N\fR entry as a way to get a full list of all
+of the tags.
+.SP
+.IP "" 0
 \fB-R\fR
 .IP "" 2
 Print only the name of the \fBrcs\fR file.

Index: doc/cvs.texinfo
===================================================================
RCS file: /cvsroot/cvs/ccvs/doc/cvs.texinfo,v
retrieving revision 1.703
retrieving revision 1.704
diff -u -b -r1.703 -r1.704
--- doc/cvs.texinfo     19 Oct 2007 21:53:48 -0000      1.703
+++ doc/cvs.texinfo     25 Jan 2008 07:17:31 -0000      1.704
@@ -9527,6 +9527,8 @@
 @item
 Requires: repository.
 @item
+Synonym: blame
address@hidden
 Changes: nothing.
 @end itemize
 
@@ -11287,6 +11289,12 @@
 information, the log information is presented without
 tags at all.
 
address@hidden -n
+Print the list of tags for this file. This option can
+be very useful when your @file{.cvsrc} file has a
address@hidden -N} entry as a way to get a full list of all
+of the tags.
+
 @item -R
 Print only the name of the @sc{rcs} file.
 

Index: doc/stamp-vti
===================================================================
RCS file: /cvsroot/cvs/ccvs/doc/stamp-vti,v
retrieving revision 1.206
retrieving revision 1.207
diff -u -b -r1.206 -r1.207
--- doc/stamp-vti       28 Oct 2007 18:29:53 -0000      1.206
+++ doc/stamp-vti       25 Jan 2008 07:17:31 -0000      1.207
@@ -1,4 +1,4 @@
address@hidden UPDATED 28 October 2007
address@hidden UPDATED-MONTH October 2007
address@hidden UPDATED 23 January 2008
address@hidden UPDATED-MONTH January 2008
 @set EDITION 1.12.13.1
 @set VERSION 1.12.13.1

Index: doc/version.texi
===================================================================
RCS file: /cvsroot/cvs/ccvs/doc/version.texi,v
retrieving revision 1.208
retrieving revision 1.209
diff -u -b -r1.208 -r1.209
--- doc/version.texi    28 Oct 2007 18:29:53 -0000      1.208
+++ doc/version.texi    25 Jan 2008 07:17:31 -0000      1.209
@@ -1,4 +1,4 @@
address@hidden UPDATED 28 October 2007
address@hidden UPDATED-MONTH October 2007
address@hidden UPDATED 23 January 2008
address@hidden UPDATED-MONTH January 2008
 @set EDITION 1.12.13.1
 @set VERSION 1.12.13.1

Index: src/ChangeLog
===================================================================
RCS file: /cvsroot/cvs/ccvs/src/ChangeLog,v
retrieving revision 1.3555
retrieving revision 1.3556
diff -u -b -r1.3555 -r1.3556
--- src/ChangeLog       23 Jan 2008 07:09:30 -0000      1.3555
+++ src/ChangeLog       25 Jan 2008 07:17:32 -0000      1.3556
@@ -1,3 +1,26 @@
+2008-01-24  Mark D. Baushke  <address@hidden>
+
+       * recurse.c (do_recursion): s/cvs_notfiy_check/cvs_notify_check/
+       * edit.c (dummy_fileproc), edit.h, client.h: Ditto.
+
+       * log.c (cvslog): New -n option to revert the -N switch.
+       (log_usage): Add -n to the help string.
+       * main.c (cmds[]): Add "blame" as a synonym for the
+       "annotate" command.
+       * sanity.sh (cvs-log): New tests for 'cvs log -N -n' validation.
+       (ann-10w1blame): Test the 'cvs blame' synonym for annotate.
+       (Patch suggested by "David O'Brien" <address@hidden>)
+
+       * root.c (parse_cvsroot): Fix parsing for the :extssh: method.
+
+       * sanity.sh (CVSROOTDIR): Use 'cvsrootdir' instead of 'cvsroot' to
+       avoid problems on case preserving and/or case insensitive
+       filesystems (e.g., HFS+).
+       (CVSROOT_DIRNAME): Use $TESTDIR/$CVSROOTDIR instead of
+       $TESTDIR/cvsroot to avoid filesystem case sensitivity problems.
+       (crerepos-extssh): Clone of crerepos tests, but use the :extssh:
+       method.
+
 2008-01-22  Mark D. Baushke  <address@hidden>
 
        * subr.c (mkdir_i): Save/restore errno around isdir().

Index: src/client.h
===================================================================
RCS file: /cvsroot/cvs/ccvs/src/client.h,v
retrieving revision 1.64
retrieving revision 1.65
diff -u -b -r1.64 -r1.65
--- src/client.h        29 Aug 2007 23:36:23 -0000      1.64
+++ src/client.h        25 Jan 2008 07:17:33 -0000      1.65
@@ -64,7 +64,7 @@
 #ifdef CLIENT_SUPPORT
 /*
  * Flag variable for seeing whether the server has been started yet.
- * As of this writing, only edit.c:cvs_notfiy_check() uses it.
+ * As of this writing, only edit.c:cvs_notify_check() uses it.
  */
 extern int server_started;
 

Index: src/edit.c
===================================================================
RCS file: /cvsroot/cvs/ccvs/src/edit.c,v
retrieving revision 1.103
retrieving revision 1.104
diff -u -b -r1.103 -r1.104
--- src/edit.c  12 Sep 2007 19:14:27 -0000      1.103
+++ src/edit.c  25 Jan 2008 07:17:33 -0000      1.104
@@ -152,7 +152,7 @@
 dummy_fileproc (void *callerdat, struct file_info *finfo)
 {
     /* This is a pretty hideous hack, but the gist of it is that recurse.c
-       won't call cvs_notfiy_check unless there is a fileproc, so we can't just
+       won't call cvs_notify_check unless there is a fileproc, so we can't just
        pass NULL for fileproc.  */
     return 0;
 }
@@ -1157,7 +1157,7 @@
 #ifdef CLIENT_SUPPORT
 /* Check and send notifications.  This is only for the client.  */
 void
-cvs_notfiy_check (const char *repository, const char *update_dir)
+cvs_notify_check (const char *repository, const char *update_dir)
 {
     FILE *fp;
     char *line = NULL;

Index: src/edit.h
===================================================================
RCS file: /cvsroot/cvs/ccvs/src/edit.h,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- src/edit.h  29 Aug 2007 23:36:23 -0000      1.14
+++ src/edit.h  25 Jan 2008 07:17:34 -0000      1.15
@@ -28,7 +28,7 @@
 /* Check to see if any notifications are sitting around in need of being
    sent.  These are the notifications stored in CVSADM_NOTIFY (edit,unedit);
    commit calls notify_do directly.  */
-void cvs_notfiy_check (const char *repository, const char *update_dir);
+void cvs_notify_check (const char *repository, const char *update_dir);
 #endif /* CLIENT_SUPPORT */
 
 /* Issue a notification for file FILENAME.  TYPE is 'E' for edit, 'U'

Index: src/log.c
===================================================================
RCS file: /cvsroot/cvs/ccvs/src/log.c,v
retrieving revision 1.111
retrieving revision 1.112
diff -u -b -r1.111 -r1.112
--- src/log.c   12 Sep 2007 17:27:22 -0000      1.111
+++ src/log.c   25 Jan 2008 07:17:34 -0000      1.112
@@ -176,6 +176,7 @@
     "\t-R\tOnly print name of RCS file.\n",
     "\t-t\tOnly print header and descriptive text.\n",
     "\t-N\tDo not list tags.\n",
+    "\t-n\tList tags (default).\n",
     "\t-S\tDo not print name/header if no revisions selected.  -d, -r,\n",
     "\t\t-s, & -w have little effect in conjunction with -b, -h, -R, and\n",
     "\t\t-t without this option.\n",
@@ -253,7 +254,7 @@
     prl = &log_data.revlist;
 
     optind = 0;
-    while ((c = getopt (argc, argv, "+bd:hlNSRr::s:tw::")) != -1)
+    while ((c = getopt (argc, argv, "+bd:hlNnSRr::s:tw::")) != -1)
     {
        switch (c)
        {
@@ -272,6 +273,9 @@
            case 'N':
                log_data.notags = 1;
                break;
+           case 'n':
+               log_data.notags = 0;
+               break;
            case 'S':
                log_data.sup_header = 1;
                break;

Index: src/main.c
===================================================================
RCS file: /cvsroot/cvs/ccvs/src/main.c,v
retrieving revision 1.275
retrieving revision 1.276
diff -u -b -r1.275 -r1.276
--- src/main.c  12 Sep 2007 17:27:23 -0000      1.275
+++ src/main.c  25 Jan 2008 07:17:35 -0000      1.276
@@ -157,7 +157,7 @@
 {
     { "add",      "ad",       "new",       add,       
CVS_CMD_MODIFIES_REPOSITORY | CVS_CMD_USES_WORK_DIR },
     { "admin",    "adm",      "rcs",       admin,     
CVS_CMD_MODIFIES_REPOSITORY | CVS_CMD_USES_WORK_DIR },
-    { "annotate", "ann",      NULL,        annotate,  CVS_CMD_USES_WORK_DIR },
+    { "annotate", "ann",      "blame",     annotate,  CVS_CMD_USES_WORK_DIR },
     { "checkout", "co",       "get",       checkout,  0 },
     { "commit",   "ci",       "com",       commit,    
CVS_CMD_MODIFIES_REPOSITORY | CVS_CMD_USES_WORK_DIR },
     { "diff",     "di",       "dif",       diff,      CVS_CMD_USES_WORK_DIR },

Index: src/recurse.c
===================================================================
RCS file: /cvsroot/cvs/ccvs/src/recurse.c,v
retrieving revision 1.128
retrieving revision 1.129
diff -u -b -r1.128 -r1.129
--- src/recurse.c       1 Jan 2008 23:12:42 -0000       1.128
+++ src/recurse.c       25 Jan 2008 07:17:35 -0000      1.129
@@ -838,7 +838,7 @@
           have writelocks in place, and there is no way to get writelocks
           here.  */
        if (current_parsed_root->isremote)
-           cvs_notfiy_check (repository, update_dir);
+           cvs_notify_check (repository, update_dir);
 #endif /* CLIENT_SUPPORT */
 
        finfo_struct.repository = repository;

Index: src/root.c
===================================================================
RCS file: /cvsroot/cvs/ccvs/src/root.c,v
retrieving revision 1.130
retrieving revision 1.131
diff -u -b -r1.130 -r1.131
--- src/root.c  12 Sep 2007 18:27:08 -0000      1.130
+++ src/root.c  25 Jan 2008 07:17:35 -0000      1.131
@@ -676,6 +676,8 @@
            newroot->method = server_method;
        else if (!strcasecmp (method, "ext"))
            newroot->method = ext_method;
+       else if (!strcasecmp (method, "extssh"))
+           newroot->method = extssh_method;
        else if (!strcasecmp (method, "fork"))
            newroot->method = fork_method;
        else
@@ -1043,6 +1045,7 @@
        break;
     case server_method:
     case ext_method:
+    case extssh_method:
        no_port = 1;
        /* no_password already set */
        check_hostname = 1;

Index: src/sanity.sh
===================================================================
RCS file: /cvsroot/cvs/ccvs/src/sanity.sh,v
retrieving revision 1.1191
retrieving revision 1.1192
diff -u -b -r1.1191 -r1.1192
--- src/sanity.sh       11 Dec 2007 20:30:29 -0000      1.1191
+++ src/sanity.sh       25 Jan 2008 07:17:36 -0000      1.1192
@@ -1316,10 +1316,6 @@
     testcvs=valgrind_cvs
 fi
 
-echo "Using EXPR=$EXPR" >>$LOGFILE
-echo "Using ENDANCHOR=$ENDANCHOR" >>$LOGFILE
-echo "Using DOTSTAR=$DOTSTAR" >>$LOGFILE
-echo "Using BINDATE=$BINDATE" >>$LOGFILE
 if $valgrind; then
     echo "Using VALGRIND=$VALGRIND" >>$LOGFILE
     echo "Using VALGRIND_OPTS=$VALGRIND_OPTS" >>$LOGFILE
@@ -1334,6 +1330,11 @@
 expr_set_DASHDASH ${EXPR}
 $exprDASHDASH && EXPR="$EXPR --"
 
+echo "Using EXPR=$EXPR" >>$LOGFILE
+echo "Using ENDANCHOR=$ENDANCHOR" >>$LOGFILE
+echo "Using DOTSTAR=$DOTSTAR" >>$LOGFILE
+echo "Using BINDATE=$BINDATE" >>$LOGFILE
+
 # Cleanup
 rm -f ${TESTDIR}/bar
 
@@ -2232,7 +2233,7 @@
        tests="${tests} rdiff2 diff diffnl death death2 death-rtag"
        tests="${tests} rm-update-message rmadd rmadd2 rmadd3 resurrection"
        tests="${tests} dirs dirs2 branches branches2 branches3"
-       tests="${tests} branches4 branches5 tagc tagf tag-space"
+       tests="${tests} branches4 branches5 tagc tagf tag-log tag-space"
        tests="${tests} rcslib multibranch import importb importc importX"
        tests="$tests importX2 import-CVS import-quirks"
        tests="${tests} update-p import-after-initial branch-after-import"
@@ -2263,7 +2264,7 @@
        tests="${tests} serverpatch log log2 logopt ann ann-id"
        # Repository Storage (RCS file format, CVS lock files, creating
        # a repository without "cvs init", &c).
-       tests="${tests} crerepos rcs rcs2 rcs3 rcs4 rcs5 rcs6"
+       tests="${tests} crerepos crerepos-extssh rcs rcs2 rcs3 rcs4 rcs5 rcs6"
        tests="$tests lockfiles backuprecover"
        tests="${tests} sshstdio"
        # More history browsing, &c.
@@ -3206,7 +3207,10 @@
 ###
 ### Initialize the repository
 ###
-CVSROOT_DIRNAME=$TESTDIR/cvsroot
+# Use a name which will be different than CVSROOT on case insensitive
+# filesystems (e.g., HFS+)
+CVSROOTDIR=cvsrootdir
+CVSROOT_DIRNAME=$TESTDIR/$CVSROOTDIR
 CVSROOT=`newroot $CVSROOT_DIRNAME`; export CVSROOT
 dotest init-1 "$testcvs -d$CVSROOT_DIRNAME init"
 
@@ -9236,6 +9240,100 @@
 
 
 
+       tag-log)
+         # Test log output for tags
+         mkdir 1; cd 1
+         dotest tag-log-init-1 "$testcvs -q co -l ."
+         mkdir first-dir
+         dotest tag-log-init-2 "$testcvs add first-dir" \
+"Directory $CVSROOT_DIRNAME/first-dir added to the repository"
+         cd first-dir
+         touch file1
+         dotest tag-log-init-3 "$testcvs add file1" \
+"$SPROG add: scheduling file \`file1' for addition
+$SPROG add: use \`$SPROG commit' to add this file permanently"
+         dotest tag-log-init-4 "$testcvs -Q ci -m add"
+
+          dotest tag-log-1 "$testcvs -Q tag mytag file1" ''
+          dotest tag-log-2 "$testcvs log -N file1" \
+"
+RCS file: ${CVSROOT_DIRNAME}/first-dir/file1,v
+Working file: file1
+head: 1\.1
+branch:
+locks: strict
+access list:
+keyword substitution: kv
+total revisions: 1;    selected revisions: 1
+description:
+----------------------------
+revision 1\.1
+date: ${ISO8601DATE};  author: ${username};  state: Exp;  commitid: 
${commitid};
+${log_keyid}add
+============================================================================="
+          dotest tag-log-3 "$testcvs log -N -n file1" \
+"
+RCS file: ${CVSROOT_DIRNAME}/first-dir/file1,v
+Working file: file1
+head: 1\.1
+branch:
+locks: strict
+access list:
+symbolic names:
+       mytag: 1\.1
+keyword substitution: kv
+total revisions: 1;    selected revisions: 1
+description:
+----------------------------
+revision 1\.1
+date: ${ISO8601DATE};  author: ${username};  state: Exp;  commitid: 
${commitid};
+${log_keyid}add
+============================================================================="
+          dotest tag-log-4 "$testcvs log file1" \
+"
+RCS file: ${CVSROOT_DIRNAME}/first-dir/file1,v
+Working file: file1
+head: 1\.1
+branch:
+locks: strict
+access list:
+symbolic names:
+       mytag: 1\.1
+keyword substitution: kv
+total revisions: 1;    selected revisions: 1
+description:
+----------------------------
+revision 1\.1
+date: ${ISO8601DATE};  author: ${username};  state: Exp;  commitid: 
${commitid};
+${log_keyid}add
+============================================================================="
+          dotest tag-log-5 "$testcvs log -n file1" \
+"
+RCS file: ${CVSROOT_DIRNAME}/first-dir/file1,v
+Working file: file1
+head: 1\.1
+branch:
+locks: strict
+access list:
+symbolic names:
+       mytag: 1\.1
+keyword substitution: kv
+total revisions: 1;    selected revisions: 1
+description:
+----------------------------
+revision 1\.1
+date: ${ISO8601DATE};  author: ${username};  state: Exp;  commitid: 
${commitid};
+${log_keyid}add
+============================================================================="
+
+         dokeep
+         cd ../..
+         rm -rf 1
+         modify_repo rm -rf $CVSROOT_DIRNAME/first-dir
+         ;;
+
+
+
        tag-space)
          # Test tags with spaces in the names.
          #
@@ -10467,7 +10565,7 @@
           echo "ImportNewFilesToVendorBranchOnly=yes" >> config
 
          dotest importX2-2 "$testcvs -q ci -m force-cvs-import-X" \
-"$TESTDIR/cvsroot/CVSROOT/config,v  <--  config
+"$TESTDIR/$CVSROOTDIR/CVSROOT/config,v  <--  config
 new revision: 1\.[0-9]*; previous revision: 1\.[0-9]*
 $SPROG commit: Rebuilding administrative file database"
 
@@ -19867,7 +19965,7 @@
 $SPROG add: use \`$SPROG commit' to add this file permanently"
 
          dotest_fail info-3 "$testcvs -q ci -m new-loginfo" \
-"$TESTDIR/cvsroot/CVSROOT/config,v  <--  config
+"$TESTDIR/$CVSROOTDIR/CVSROOT/config,v  <--  config
 new revision: 1\.[0-9]*; previous revision: 1\.[0-9]*
 $CVSROOT_DIRNAME/CVSROOT/loginfo,v  <--  loginfo
 new revision: 1\.[0-9]*; previous revision: 1\.[0-9]*
@@ -19938,7 +20036,7 @@
          dotest info-8 "${testcvs} -q rm -f file1" \
 "${SPROG} remove: use .${SPROG} commit. to remove this file permanently"
          dotest_sort info-8a "${testcvs} -q ci -m remove-it" \
-"$TESTDIR/cvsroot/first-dir/file1,v  <--  file1
+"$TESTDIR/$CVSROOTDIR/first-dir/file1,v  <--  file1
 all info files after each .%. which doesn.t represent a literal percent)
 and set UseNewInfoFmtStrings=yes in CVSROOT/config\.  After that, convert
 compatibility with the new info file format strings (add a temporary .1. in
@@ -19952,7 +20050,7 @@
 "$SPROG add: Re-adding file \`file1' after dead revision 1\.4\.
 $SPROG add: use \`$SPROG commit' to add this file permanently"
          dotest_sort info-8c "${testcvs} -q ci -m add-it" \
-"$TESTDIR/cvsroot/first-dir/file1,v  <--  file1
+"$TESTDIR/$CVSROOTDIR/first-dir/file1,v  <--  file1
 all info files after each .%. which doesn.t represent a literal percent)
 and set UseNewInfoFmtStrings=yes in CVSROOT/config\.  After that, convert
 compatibility with the new info file format strings (add a temporary .1. in
@@ -20036,9 +20134,9 @@
             >> loginfo
 
          dotest info-setup-intfmt-2 "${testcvs} -q -s ZEE=garbage ci -m 
nuke-admin-for-info-intfmt" \
-"$TESTDIR/cvsroot/CVSROOT/config,v  <--  config
+"$TESTDIR/$CVSROOTDIR/CVSROOT/config,v  <--  config
 new revision: 1\.[0-9]*; previous revision: 1\.[0-9]*
-$TESTDIR/cvsroot/CVSROOT/loginfo,v  <--  loginfo
+$TESTDIR/$CVSROOTDIR/CVSROOT/loginfo,v  <--  loginfo
 new revision: 1\.[0-9]*; previous revision: 1\.[0-9]*
 $SPROG commit: Rebuilding administrative file database
 $SPROG commit: warning:  Set to use deprecated info format strings\.  Establish
@@ -20062,7 +20160,7 @@
 '"${SPROG}"' add: use .'"${SPROG}"' commit. to add this file permanently'
          echo "cvs -s OTHER=not-this -s MYENV=env-" >>$HOME/.cvsrc
          dotest info-intfmt-6b "${testcvs} -q -s OTHER=value ci -m add-it" \
-"${TESTDIR}/cvsroot/third-dir/file1,v  <--  file1
+"${TESTDIR}/$CVSROOTDIR/third-dir/file1,v  <--  file1
 initial revision: 1\.1
 ${SPROG} commit: loginfo:[0-9]*: no such user variable \${=ZEE}
 ${SPROG} commit: Using deprecated info format strings\.  Convert your scripts 
to use
@@ -20085,7 +20183,7 @@
 the new argument format and remove '1's from your info file format strings\."
          echo line0 >>file1
          dotest info-intfmt-6c "${testcvs} -q -sOTHER=foo ci -m mod-it" \
-"${TESTDIR}/cvsroot/third-dir/file1,v  <--  file1
+"$TESTDIR/$CVSROOTDIR/third-dir/file1,v  <--  file1
 new revision: 1\.2; previous revision: 1\.1
 ${SPROG} commit: loginfo:[0-9]*: no such user variable \${=ZEE}
 ${SPROG} commit: Using deprecated info format strings\.  Convert your scripts 
to use
@@ -20108,7 +20206,7 @@
 the new argument format and remove '1's from your info file format strings\."
          echo line1 >>file1
          dotest info-intfmt-7 "${testcvs} -q -s OTHER=value -s ZEE=z ci -m 
mod-it" \
-"${TESTDIR}/cvsroot/third-dir/file1,v  <--  file1
+"$TESTDIR/$CVSROOTDIR/third-dir/file1,v  <--  file1
 new revision: 1\.3; previous revision: 1\.2
 ${SPROG} commit: Using deprecated info format strings\.  Convert your scripts 
to use
 the new argument format and remove '1's from your info file format strings\.
@@ -20132,7 +20230,7 @@
          dotest info-intfmt-8 "${testcvs} -q rm -f file1" \
 "${SPROG} remove: use .${SPROG} commit. to remove this file permanently"
          dotest info-intfmt-8a "${testcvs} -q ci -m remove-it" \
-"$TESTDIR/cvsroot/third-dir/file1,v  <--  file1
+"$TESTDIR/$CVSROOTDIR/third-dir/file1,v  <--  file1
 new revision: delete; previous revision: 1\.3
 ${SPROG} commit: loginfo:[0-9]*: no such user variable \${=ZEE}
 ${SPROG} commit: Using deprecated info format strings\.  Convert your scripts 
to use
@@ -20158,7 +20256,7 @@
 "$SPROG add: Re-adding file \`file1' after dead revision 1\.4\.
 $SPROG add: use \`$SPROG commit' to add this file permanently"
          dotest info-8c "${testcvs} -q ci -m add-it" \
-"$TESTDIR/cvsroot/third-dir/file1,v  <--  file1
+"$TESTDIR/$CVSROOTDIR/third-dir/file1,v  <--  file1
 new revision: 1.5; previous revision: 1\.4
 ${SPROG} commit: loginfo:[0-9]*: no such user variable \${=ZEE}
 ${SPROG} commit: Using deprecated info format strings\.  Convert your scripts 
to use
@@ -20181,7 +20279,7 @@
 the new argument format and remove '1's from your info file format strings\."
 
          cd ..
-         dotest info-intfmt-9 "cat $TESTDIR/testlog" 
"xenv-valueyz=${username}=${TESTDIR}/cvsroot="
+         dotest info-intfmt-9 "cat $TESTDIR/testlog" 
"xenv-valueyz=${username}=$TESTDIR/$CVSROOTDIR="
           dotest info-intfmt-10 "cat $TESTDIR/testlog2" \
 'third-dir
 third-dir
@@ -20272,23 +20370,23 @@
 '"${SPROG}"' add: use .'"${SPROG}"' commit. to add this file permanently'
          echo "cvs -s OTHER=not-this -s MYENV=env-" >>$HOME/.cvsrc
          dotest info-newfmt-3 "$testcvs -q -s OTHER=value ci -m add-it" \
-"$TESTDIR/cvsroot/fourth-dir/file1,v  <--  file1
+"$TESTDIR/$CVSROOTDIR/fourth-dir/file1,v  <--  file1
 initial revision: 1\.1
 $SPROG commit: loginfo:[0-9]*: no such user variable \${=ZEE}"
          echo line0 >>file1
          dotest info-newfmt-4 "$testcvs -q -sOTHER=foo ci -m mod-it" \
-"$TESTDIR/cvsroot/fourth-dir/file1,v  <--  file1
+"$TESTDIR/$CVSROOTDIR/fourth-dir/file1,v  <--  file1
 new revision: 1\.2; previous revision: 1\.1
 $SPROG commit: loginfo:[0-9]*: no such user variable \${=ZEE}"
          echo line1 >>file1
          dotest info-newfmt-5 "${testcvs} -q -s OTHER=value -s ZEE=z ci -m 
mod-it" \
-"${TESTDIR}/cvsroot/fourth-dir/file1,v  <--  file1
+"$TESTDIR/$CVSROOTDIR/fourth-dir/file1,v  <--  file1
 new revision: 1\.3; previous revision: 1\.2"
           rm file1
           dotest info-newfmt-5a "${testcvs} -q rm -f file1" \
 "${SPROG} remove: use .${SPROG} commit. to remove this file permanently"
           dotest info-newfmt-5b "${testcvs} -q  ci -m remove-it" \
-"$TESTDIR/cvsroot/fourth-dir/file1,v  <--  file1
+"$TESTDIR/$CVSROOTDIR/fourth-dir/file1,v  <--  file1
 new revision: delete; previous revision: 1\.3
 $SPROG commit: loginfo:[0-9]*: no such user variable \${=ZEE}"
           echo "resurrected file1" >file1
@@ -20296,17 +20394,17 @@
 "$SPROG add: Re-adding file \`file1' after dead revision 1\.4\.
 $SPROG add: use \`$SPROG commit' to add this file permanently"
           dotest info-newfmt-5d "${testcvs} -q ci -m add-it" \
-"$TESTDIR/cvsroot/fourth-dir/file1,v  <--  file1
+"$TESTDIR/$CVSROOTDIR/fourth-dir/file1,v  <--  file1
 new revision: 1.5; previous revision: 1\.4
 $SPROG commit: loginfo:[0-9]*: no such user variable \${=ZEE}"
           dotest info-newfmt-5e "$testcvs -q ci -fmtag -r2" \
-"$TESTDIR/cvsroot/fourth-dir/file1,v  <--  file1
+"$TESTDIR/$CVSROOTDIR/fourth-dir/file1,v  <--  file1
 new revision: [0-9.]*; previous revision: [0-9.]*
 $SPROG commit: loginfo:[0-9]*: no such user variable \${=ZEE}"
 
          cd ..
          dotest info-newfmt-6 "cat $TESTDIR/testlog" \
-"xenv-valueyz=${username}=${TESTDIR}/cvsroot="
+"xenv-valueyz=${username}=$TESTDIR/$CVSROOTDIR="
           dotest info-newfmt-7 "cat $TESTDIR/testlog2" \
 'fourth-dir file1 added  NONE 1\.1
 added
@@ -20692,7 +20790,7 @@
          sed -e's/%p/ALL/' <loginfo >tmploginfo
          mv tmploginfo loginfo
          dotest taginfo-2 "${testcvs} -q ci -m check-in-taginfo" \
-"$TESTDIR/cvsroot/CVSROOT/config,v  <--  config
+"$TESTDIR/$CVSROOTDIR/CVSROOT/config,v  <--  config
 new revision: 1\.[0-9]*; previous revision: 1\.[0-9]*
 $CVSROOT_DIRNAME/CVSROOT/loginfo,v  <--  loginfo
 new revision: 1\.[0-9]*; previous revision: 1\.[0-9]*
@@ -20845,10 +20943,10 @@
 "$testcvs -q up -prtaginfo-start taginfo >taginfo"
          echo "ALL $TESTDIR/1/loggit %r %t %o %b %p %{sTVv}" >>taginfo
          dotest taginfo-newfmt-init-2 "$testcvs -q ci -m check-in-taginfo" \
-"$TESTDIR/cvsroot/CVSROOT/taginfo,v  <--  taginfo
+"$TESTDIR/$CVSROOTDIR/CVSROOT/taginfo,v  <--  taginfo
 new revision: 1\.[0-9]*; previous revision: 1\.[0-9]*
 $SPROG commit: Rebuilding administrative file database"  \
-"$TESTDIR/cvsroot/CVSROOT/taginfo,v  <--  taginfo
+"$TESTDIR/$CVSROOTDIR/CVSROOT/taginfo,v  <--  taginfo
 new revision: 1\.[0-9]*; previous revision: 1\.[0-9]*
 $SPROG commit: Rebuilding administrative file database
 $SPROG commit: warning:  Set to use deprecated info format strings\.  Establish
@@ -20879,9 +20977,9 @@
 "${SPROG} add: scheduling file .file 2. for addition
 ${SPROG} add: use .${SPROG} commit. to add this file permanently"
          dotest taginfo-newfmt-2c "$testcvs -q ci -m add-it" \
-"$TESTDIR/cvsroot/first-dir/file 2,v  <--  file 2
+"$TESTDIR/$CVSROOTDIR/first-dir/file 2,v  <--  file 2
 initial revision: 1\.1" \
-"$TESTDIR/cvsroot/first-dir/file 2,v  <--  file 2
+"$TESTDIR/$CVSROOTDIR/first-dir/file 2,v  <--  file 2
 initial revision: 1\.1
 $SPROG commit: warning:  Set to use deprecated info format strings\.  Establish
 compatibility with the new info file format strings (add a temporary '1' in
@@ -20901,7 +20999,7 @@
 T file1"
 
          dotest taginfo-newfmt-examine-1 "cat ${TESTDIR}/1/taglog" \
-"$TESTDIR/cvsroot
+"$TESTDIR/$CVSROOTDIR
 tag1
 add
 N
@@ -20914,7 +21012,7 @@
 
 NONE
 1\.1
-$TESTDIR/cvsroot
+$TESTDIR/$CVSROOTDIR
 tag3
 add
 N
@@ -20927,7 +21025,7 @@
 
 NONE
 1\.1
-$TESTDIR/cvsroot
+$TESTDIR/$CVSROOTDIR
 tag4
 add
 N
@@ -20960,14 +21058,14 @@
          echo "ALL ${TESTDIR}/1/loggit %{t} %b %{o} %p %{sTVv}" >>taginfo
          echo "UseNewInfoFmtStrings=yes" >>config
          dotest taginfo-newfmt-7 "$testcvs -q ci -m check-in-taginfo" \
-"$TESTDIR/cvsroot/CVSROOT/config,v  <--  config
+"$TESTDIR/$CVSROOTDIR/CVSROOT/config,v  <--  config
 new revision: 1\.[0-9]*; previous revision: 1\.[0-9]*
-$TESTDIR/cvsroot/CVSROOT/taginfo,v  <--  taginfo
+$TESTDIR/$CVSROOTDIR/CVSROOT/taginfo,v  <--  taginfo
 new revision: 1\.[0-9]*; previous revision: 1\.[0-9]*
 $SPROG commit: Rebuilding administrative file database" \
-"$TESTDIR/cvsroot/CVSROOT/config,v  <--  config
+"$TESTDIR/$CVSROOTDIR/CVSROOT/config,v  <--  config
 new revision: 1\.[0-9]*; previous revision: 1\.[0-9]*
-$TESTDIR/cvsroot/CVSROOT/taginfo,v  <--  taginfo
+$TESTDIR/$CVSROOTDIR/CVSROOT/taginfo,v  <--  taginfo
 new revision: 1\.[0-9]*; previous revision: 1\.[0-9]*
 $SPROG commit: Rebuilding administrative file database
 $SPROG commit: warning:  Set to use deprecated info format strings\.  Establish
@@ -20981,12 +21079,12 @@
          dotest taginfo-newfmt-8 "${testcvs} -q tag tag1" ""
          mkdir sdir
          dotest taginfo-newfmt-8b "${testcvs} -q add sdir" \
-"Directory ${TESTDIR}/cvsroot/first-dir/sdir added to the repository"
+"Directory $TESTDIR/$CVSROOTDIR/first-dir/sdir added to the repository"
          touch sdir/file3
          dotest taginfo-newfmt-8c "${testcvs} -q add sdir/file3" \
 "${SPROG} add: use .${SPROG} commit. to add this file permanently"
          dotest taginfo-newfmt-8d "${testcvs} -q ci -m added-sdir" \
-"${TESTDIR}/cvsroot/first-dir/sdir/file3,v  <--  sdir/file3
+"$TESTDIR/$CVSROOTDIR/first-dir/sdir/file3,v  <--  sdir/file3
 initial revision: 1\.1"
          dotest taginfo-newfmt-9 "${testcvs} -q tag -b br" \
 "T file 2
@@ -20998,7 +21096,7 @@
 U sdir/file3'
          echo add more text on branch >>file1
          dotest taginfo-newfmt-11 "${testcvs} -q ci -m modify-on-br" \
-"${TESTDIR}/cvsroot/first-dir/file1,v  <--  file1
+"$TESTDIR/$CVSROOTDIR/first-dir/file1,v  <--  file1
 new revision: 1\.1\.2\.2; previous revision: 1\.1\.2\.1"
          dotest taginfo-newfmt-12 "${testcvs} -q tag -F -c brtag" \
 "T file 2
@@ -21096,7 +21194,7 @@
          cd CVSROOT
          echo "ALL $TESTDIR/1/loggit %r %t %o %b %p %{sVv}" >posttag
          dotest posttag-init-2 "$testcvs -q ci -m check-in-taginfo" \
-"$TESTDIR/cvsroot/CVSROOT/posttag,v  <--  posttag
+"$TESTDIR/$CVSROOTDIR/CVSROOT/posttag,v  <--  posttag
 new revision: 1\.[0-9]*; previous revision: 1\.[0-9]*
 $SPROG commit: Rebuilding administrative file database"
          cd ..
@@ -21158,7 +21256,7 @@
 D file1"
 
          dotest posttag-examine-1 "cat $TESTDIR/1/taglog" \
-"$TESTDIR/cvsroot
+"$TESTDIR/$CVSROOTDIR
 tag1
 add
 N
@@ -21169,7 +21267,7 @@
 file1
 NONE
 1\.1
-$TESTDIR/cvsroot
+$TESTDIR/$CVSROOTDIR
 tag3
 add
 N
@@ -21180,7 +21278,7 @@
 file1
 NONE
 1\.1
-$TESTDIR/cvsroot
+$TESTDIR/$CVSROOTDIR
 rejectme
 add
 N
@@ -21191,7 +21289,7 @@
 file1
 NONE
 1.1
-$TESTDIR/cvsroot
+$TESTDIR/$CVSROOTDIR
 rejectme
 del
 ?
@@ -23032,6 +23130,19 @@
 1\.2          ($username1 *[0-9a-zA-Z-]*): a
 1\.2          ($username1 *[0-9a-zA-Z-]*): blank
 1\.2          ($username1 *[0-9a-zA-Z-]*): line"
+         dotest ann-10w1blame "${testcvs} blame -w 1" \
+"
+Annotations for file1
+\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
+1\.1          ($username1 *[0-9a-zA-Z-]*): this
+1\.1          ($username1 *[0-9a-zA-Z-]*): is
+1\.2          ($username1 *[0-9a-zA-Z-]*): a
+1\.3          ($username1 *[0-9a-zA-Z-]*): trunk file
+1\.2          ($username1 *[0-9a-zA-Z-]*): 
+1\.2          ($username1 *[0-9a-zA-Z-]*): with
+1\.2          ($username1 *[0-9a-zA-Z-]*): a
+1\.2          ($username1 *[0-9a-zA-Z-]*): blank
+1\.2          ($username1 *[0-9a-zA-Z-]*): line"
          if test $userlen -lt 80; then
            dotest ann-10wmax "${testcvs} ann -w $userlen" \
 "
@@ -23357,6 +23468,179 @@
 
 
 
+       crerepos-extssh)
+         # Various tests relating to creating repositories, operating
+         # on repositories created with old versions of CVS, etc.
+
+         CVS_SERVER_save=$CVS_SERVER
+
+         # Because this test is all about -d options and such, it
+         # at least to some extent needs to be different for remote vs.
+         # local.
+         if $remote; then
+
+           # Use :extssh: rather than :fork:.  Most of the tests use :fork:,
+           # so we want to make sure that we test :extssh: _somewhere_.
+           # Make sure 'ssh' works first.
+           require_rsh "$CVS_RSH"
+           if test $? -eq 77; then
+               skip crerepos "$skipreason"
+               continue
+           fi
+
+            # Make sure server ignores real $HOME/.cvsrc:
+            cat >$TESTDIR/cvs-setHome <<EOF
+#!$TESTSHELL
+HOME=$HOME
+export HOME
+exec $CVS_SERVER "\$@"
+EOF
+            chmod a+x $TESTDIR/cvs-setHome
+
+           # Note that we set CVS_SERVER at the beginning.
+           CVS_SERVER=$TESTDIR/cvs-setHome; export CVS_SERVER
+           CREREPOS_ROOT=:extssh:$host$TESTDIR/crerepos
+         else # local
+           CREREPOS_ROOT=$TESTDIR/crerepos
+         fi
+
+         # First, if the repository doesn't exist at all...
+         dotest_fail crerepos-extssh-1 \
+"${testcvs} -d ${TESTDIR}/crerepos co cvs-sanity" \
+"${SPROG} \[checkout aborted\]: ${TESTDIR}/crerepos/CVSROOT: .*"
+         mkdir crerepos
+
+         # The repository exists but CVSROOT doesn't.
+         dotest_fail crerepos-extssh-2 \
+"${testcvs} -d ${TESTDIR}/crerepos co cvs-sanity" \
+"${SPROG} \[checkout aborted\]: ${TESTDIR}/crerepos/CVSROOT: .*"
+         mkdir crerepos/CVSROOT
+
+         # Checkout of nonexistent module
+         dotest_fail crerepos-extssh-3 \
+"${testcvs} -d ${TESTDIR}/crerepos co cvs-sanity" \
+"${SPROG} checkout: cannot find module .cvs-sanity. - ignored"
+
+         # Now test that CVS works correctly without a modules file
+         # or any of that other stuff.  In particular, it *must*
+         # function if administrative files added to CVS recently (since
+         # CVS 1.3) do not exist, because the repository might have
+         # been created with an old version of CVS.
+         mkdir 1; cd 1
+         dotest crerepos-extssh-4 \
+"${testcvs} -q -d ${TESTDIR}/crerepos co CVSROOT" \
+''
+         dotest crerepos-extssh-5 \
+"echo yes | $testcvs -d $TESTDIR/crerepos release -d CVSROOT" \
+"You have \[0\] altered files in this repository\.
+Are you sure you want to release (and delete) directory \`CVSROOT': "
+         rm -rf CVS
+         cd ..
+         # The directory 1 should be empty
+         dotest crerepos-extssh-6 "rmdir 1"
+
+         if $remote; then
+           # Test that CVS rejects a relative path in CVSROOT.
+           mkdir 1; cd 1
+           # Note that having the client reject the pathname (as :fork:
+           # does), does _not_ test for the bugs we are trying to catch
+           # here.  The point is that malicious clients might send all
+           # manner of things and the server better protect itself.
+           dotest_fail crerepos-extssh-6a-r \
+"${testcvs} -q -d :extssh:`hostname`:../crerepos get ." \
+"${CPROG} checkout: CVSROOT may only specify a positive, non-zero, integer 
port (not .\.\..)\.
+${CPROG} checkout: Perhaps you entered a relative pathname${QUESTION}
+${CPROG} \[checkout aborted\]: Bad CVSROOT: 
.:extssh:${hostname}:\.\./crerepos.\."
+           cd ..
+           rm -r 1
+
+           mkdir 1; cd 1
+           dotest_fail crerepos-extssh-6b-r \
+"${testcvs} -d :extssh:`hostname`:crerepos init" \
+"${CPROG} init: CVSROOT requires a path spec:
+${CPROG} init: 
:(gserver|kserver|pserver):\[\[user\]\[:address@hidden:\[port\]\]/path
+${CPROG} init: \[:(ext|server):address@hidden:\]/path
+${CPROG} \[init aborted\]: Bad CVSROOT: .:extssh:${hostname}:crerepos.\."
+           cd ..
+           rm -r 1
+         else # local
+           # Test that CVS rejects a relative path in CVSROOT.
+
+           mkdir 1; cd 1
+           # CVS used to interpret this case as hostname/path, but that
+           # changed with 1.12.14 to interpreting it as a relative path
+           # and rejecting it.
+           dotest_fail crerepos-extssh-6a "$testcvs -q -d ../crerepos get ." \
+"$SPROG checkout: CVSROOT must be an absolute pathname (not \`\.\./crerepos')
+$SPROG checkout: when using local access method\.
+$SPROG \[checkout aborted\]: Bad CVSROOT: \`\.\./crerepos'\."
+           cd ..
+           rm -r 1
+         fi # end of tests to be skipped for remote
+
+         # CVS should have created a history file.  If the administrator 
+         # doesn't need it and wants to save on disk space, they just
+         # delete it and set LogHistory = the empty string in config.
+         dotest crerepos-extssh-7 "test -f $TESTDIR/crerepos/CVSROOT/history"
+
+         # Now test mixing repositories.  This kind of thing tends to
+         # happen accidentally when people work with several repositories.
+         mkdir 1; cd 1
+         dotest crerepos-extssh-8 "${testcvs} -q co -l ." ''
+         mkdir first-dir
+         dotest crerepos-extssh-9 "${testcvs} add first-dir" \
+"Directory ${CVSROOT_DIRNAME}/first-dir added to the repository"
+         cd first-dir
+         touch file1
+         dotest crerepos-extssh-10 "${testcvs} add file1" \
+"${SPROG} add: scheduling file .file1. for addition
+${SPROG} add: use .${SPROG} commit. to add this file permanently"
+         dotest crerepos-extssh-11 "${testcvs} -q ci -m add-it" \
+"$CVSROOT_DIRNAME/first-dir/file1,v  <--  file1
+initial revision: 1\.1"
+         cd ../..
+         rm -r 1
+
+         mkdir 1; cd 1
+         dotest crerepos-extssh-12 "$testcvs -d $CREREPOS_ROOT -q co -l ."
+         mkdir crerepos-dir
+         dotest crerepos-extssh-13 "$testcvs add crerepos-dir" \
+"Directory $TESTDIR/crerepos/crerepos-dir added to the repository"
+         cd crerepos-dir
+         touch cfile
+         dotest crerepos-extssh-14 "${testcvs} add cfile" \
+"${SPROG} add: scheduling file .cfile. for addition
+${SPROG} add: use .${SPROG} commit. to add this file permanently"
+         dotest crerepos-extssh-15 "${testcvs} -q ci -m add-it" \
+"$TESTDIR/crerepos/crerepos-dir/cfile,v  <--  cfile
+initial revision: 1\.1"
+         cd ../..
+         rm -r 1
+
+         mkdir 1; cd 1
+         dotest crerepos-extssh-16 "${testcvs} co first-dir" \
+"${SPROG} checkout: Updating first-dir
+U first-dir/file1"
+         dotest crerepos-extssh-17 "${testcvs} -d ${CREREPOS_ROOT} co 
crerepos-dir" \
+"${SPROG} checkout: Updating crerepos-dir
+U crerepos-dir/cfile"
+         dotest crerepos-extssh-18 "${testcvs} update" \
+"${SPROG} update: Updating first-dir
+${SPROG} update: Updating crerepos-dir"
+
+         cd ..
+
+          CVS_SERVER=$CVS_SERVER_save; export CVS_SERVER
+
+         dokeep
+          rm -f $TESTDIR/cvs-setHome
+         rm -rf 1
+         modify_repo rm -rf $CVSROOT_DIRNAME/first-dir
+         rm -rf $TESTDIR/crerepos
+         ;;
+
+
+
        rcs)
          # Test ability to import an RCS file.  Note that this format
          # is fixed--files written by RCS5, and other software which
@@ -27818,7 +28102,7 @@
          # In the remote case, we are cd'd off into the temp directory
          # and so these tests give "No such file or directory" errors.
          if $remote; then :; else
-           dotest admin-19a-admin "${testcvs} -q admin 
-A../../cvsroot/first-dir/file2,v file1" \
+           dotest admin-19a-admin "${testcvs} -q admin 
-A../../$CVSROOTDIR/first-dir/file2,v file1" \
 "RCS file: ${CVSROOT_DIRNAME}/first-dir/file1,v
 done"
            dotest admin-19a-log "${testcvs} -q log -h -N file1" "




reply via email to

[Prev in Thread] Current Thread [Next in Thread]