[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
- cvs -n update -jtag1 -jtag2 modified-local-file == protocol error,
Mark D. Baushke <=