bug-cvs
[Top][All Lists]
Advanced

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

cvs -n update -jtag1 -jtag2 modified-local-file == protocol error


From: Mark D. Baushke
Subject: cvs -n update -jtag1 -jtag2 modified-local-file == protocol error
Date: Tue, 07 Sep 2004 16:20:03 -0700

Hi Folks,

The attached test case shows up to edge conditions for a
'cvs -n update -jtag1 -jtag2 filename' command in remote mode.
(There are problems both when the filename is not modified and when the
filename is modified locally.)

btw: running 'sh sanity.sh -r /path/to/cvs join7' will also yeild three
files in $TESTDIR/tmp at the end of this run, which means that a

    FAIL: Found cvsXXXXXX temp files in /tmp/cvs-sanity/tmp.

message will be generated when join7 is run in this manner as long
as the protocol error remains.

I consider the bigger problem being the protocol error in the join7-6
test and I am not sure why it is happening. Folks with a deeper
understanding of this code pleaes feel free to point out the obvious to
me...

        Thanks,
        -- Mark

Index: sanity.sh
===================================================================
RCS file: /cvs/ccvs/src/sanity.sh,v
retrieving revision 1.951
diff -u -p -r1.951 sanity.sh
--- sanity.sh   5 Sep 2004 02:19:17 -0000       1.951
+++ sanity.sh   7 Sep 2004 23:05:20 -0000
@@ -10341,6 +10341,75 @@ U temp2\.txt
 
 
 
+       join7)
+         # This test deals with joins that happen with the -n switch
+         # and cause a protocol error...
+         mkdir join7; cd join7
+         mkdir 1; cd 1
+         mkdir impdir; cd impdir
+          echo aaa >temp.txt
+         echo bbb >>temp.txt
+         echo ccc >>temp.txt
+         dotest join7-1 \
+"${testcvs} -Q import -minitial join7 vendor vers-1" \
+""
+         cd ..
+         dotest join7-2 "${testcvs} -Q co join7" ""
+         cd join7
+         echo ddd >> temp.txt
+         dotest join7-3 "${testcvs} -Q ci -madded-line temp.txt" ""
+         cd ../impdir
+         echo aaaa >temp.txt
+         echo bbbb >>temp.txt
+         echo ccc >>temp.txt
+         echo eee >>temp.txt
+         dotest join7-4 \
+"${testcvs} -Q import -minitial join7 vendor vers-2" \
+""
+         cd ../join7
+         # FIXCVS: When CVS sends "Unchanged temp.txt" from the
+         # client to the server, the server should still checkout
+         # the file from the repository to do the merge even though
+         # the global -n option is in effect.
+         if $remote; then
+           dotest_fail join7-5r \
+"${testcvs} -n update -jvers-1 -jvers-2 temp.txt" \
+"RCS file: $CVSROOT_DIRNAME/join7/temp.txt,v
+retrieving revision 1\.1\.1\.1
+retrieving revision 1\.1\.1\.2
+Merging differences between 1\.1\.1\.1 and 1\.1\.1\.2 into temp.txt
+${SPROG} update: temp.txt: No such file or directory"
+         else
+           dotest join7-5 "${testcvs} -n update -jvers-1 -jvers-2 temp.txt" \
+"RCS file: $CVSROOT_DIRNAME/join7/temp.txt,v
+retrieving revision 1\.1\.1\.1
+retrieving revision 1\.1\.1\.2
+Merging differences between 1\.1\.1\.1 and 1\.1\.1\.2 into temp.txt
+rcsmerge: warning: conflicts during merge"
+         fi
+         touch temp.txt
+         # FIXCVS: There should NOT be a protocol error here
+         dotest join7-6 "${testcvs} -n update -jvers-1 -jvers-2 temp.txt" \
+"RCS file: $CVSROOT_DIRNAME/join7/temp.txt,v
+retrieving revision 1\.1\.1\.1
+retrieving revision 1\.1\.1\.2
+Merging differences between 1\.1\.1\.1 and 1\.1\.1\.2 into temp.txt
+rcsmerge: warning: conflicts during merge" \
+"RCS file: $CVSROOT_DIRNAME/join7/temp.txt,v
+retrieving revision 1\.1\.1\.1
+retrieving revision 1\.1\.1\.2
+Merging differences between 1\.1\.1\.1 and 1\.1\.1\.2 into temp.txt
+rcsmerge: warning: conflicts during merge
+Protocol error: uncounted data discarded"
+
+         dokeep
+         cd ../../..
+         rm -r join7
+         modify_repo rm -rf $CVSROOT_DIRNAME/join7
+         ;;
+
+
+
        join-readonly-conflict)
          # Previously, only tests 1 & 11 were being tested.  I added the
          # intermediate dotest's to try and diagnose a different failure




reply via email to

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