[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
CVS bug? "cvs checkout: move away bar; it is in the way"
From: |
kynn |
Subject: |
CVS bug? "cvs checkout: move away bar; it is in the way" |
Date: |
Sat, 5 Jun 2004 13:34:15 -0400 (EDT) |
The bug illustrated below is a very minor one, because there's a very
simple workaround (also illustrated below). Still, it took me a long
time to sort this out, and I would appreciate either a confirmation
that it is a bug, or a pointer to where in the documentation this
"feature" is described. (If no such place in the docs exists, then I
think this should at least be considered a bug in the documentation.)
I provide a script at the end of this message that reproduces the bug.
All you need to do to it is edit the value of TESTCVSROOT, and it's
ready to go.
SUMMARY: I import some files, and successfully check out the vendor
branch; then I repeat the process, starting from scratch, and
modifying one file before the import step; when I attempt to check out
the vendor branch, as before, I get an error; I've added comments and
blank lines, for clarity, to the transcript below.
### Initialize
% TESTCVSROOT=/home/jones/cvs_test
% rm -rf $TESTCVSROOT
% cvs -d $TESTCVSROOT init
% rm -rf Foo && mkdir Foo && cd Foo
% echo -n 0 > bar
% cvs -d $TESTCVSROOT import -m '' Foo vendor_1 v1
N Foo/bar
No conflicts created by this import
% cvs -d $TESTCVSROOT checkout -d . -r vendor_1 Foo
cvs checkout: Updating .
U bar
### Everything OK so far
% cd ..
### Repeat the whole process, with a different
### bar file, and a different release tag during
### the import step
% rm -rf Foo && mkdir Foo && cd Foo
% echo -n 1 > bar
% cvs -d $TESTCVSROOT import -m '' Foo vendor_1 v2
U Foo/bar
No conflicts created by this import
% cvs -d $TESTCVSROOT checkout -d . -r vendor_1 Foo
cvs checkout: Updating .
cvs checkout: move away bar; it is in the way
C bar
### Not OK this time; bar has a conflict (???)
### Rename bar so that it is cvsignore'd, and
### attempt checkout again
% mv bar bar.orig
% cvs -d $TESTCVSROOT checkout -d . -r vendor_1 Foo
cvs checkout: Updating .
U bar
### Everything OK this time
### What was the conflict all about?
% diff bar bar.orig && echo $?
0
My OS is Linux/Debian:
% uname -a
Linux luna 2.4.18 #1 Sun Apr 4 17:45:51 EDT 2004 i686 unknown
My version of CVS is 1.11.16 (client/server).
Here is the script that generates the results above:
#!/bin/bash
### Edit the following line so that TESTCVSROOT has a valid value
TESTCVSROOT=/path/to/test/cvs/repository
# If you want to see cvs's output, set OUT to /dev/fd/1,
# or delete all occurrences of " >&$OUT" in the code below
OUT=/dev/null
rm -rf $TESTCVSROOT
cvs -d $TESTCVSROOT init >&$OUT
### First iteration
rm -rf Foo && mkdir Foo && cd Foo
echo -n 0 > bar
cvs -d $TESTCVSROOT import -m '' Foo vendor_1 v1 >&$OUT
cvs -d $TESTCVSROOT checkout -d . -r vendor_1 Foo
cd ..
### Second iteration
rm -rf Foo && mkdir Foo && cd Foo
echo -n 1 > bar
cvs -d $TESTCVSROOT import -m '' Foo vendor_1 v2 >&$OUT
cvs -d $TESTCVSROOT checkout -d . -r vendor_1 Foo
mv bar bar.orig
cvs -d $TESTCVSROOT checkout -d . -r vendor_1 Foo
diff bar bar.orig && echo $?
cd ..
exit 0
######################################################################
kynn jones
- CVS bug? "cvs checkout: move away bar; it is in the way",
kynn <=