[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Unable to resurrect a file two directories deep, but fine with on
From: |
Derek Robert Price |
Subject: |
Re: Unable to resurrect a file two directories deep, but fine with one directory deep |
Date: |
Tue, 10 Jun 2003 14:43:20 -0400 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.2) Gecko/20030208 Netscape/7.02 |
Rodrigo de Salvo Braz wrote:
Hi,
I have a file, say 'd2/d3/d', up-to-date with repository.
then I do
mv 'd2/d3/d' 'd2/d3/d.bak'
cvs remove 'd2/d3/d'
cvs add 'd2/d3/d'
and get the message:
cvs [add aborted]: no such directory `d2'
However if I do the same to, say, 'd' or even 'd2/d', the file is
simply resurrected, as one would expect.
I get the same result in both Cygwin and Solaris 8.
Is this a bug?
It appears to be a fairly minor bug. At least on Linux, I get the same
error message you report, but the file is actually resurrected as
intended on the next update since the Entries.Log file has already been
created.
It looks like:
if (isfile (file_to_try))
addfile (&files_by_dir, dir, comp);
else if (isdir (dir))
{
. . .
}
else
error (1, 0, "no such directory `%s'", dir);
in start_recursion() in src/recurse.c is failing to find the removed
file in the file system in the call to isfile(), but I've yet to figure
out how dir got set to only sdir2 or why CVS couldn't find it for the
call to isdir(). It's possible that checking against Entries and
noticing the add would solve the problem, though I'd like to know how
dir got set incorrectly, but I don't have any more time to work on this
today.
Derek
--
*8^)
Email: derek@ximbiot.com
Get CVS support at <http://ximbiot.com>!
--
I will not fake my way through life.
I will not fake my way through life.
I will not fake my way through life...
- Bart Simpson on chalkboard, _The Simpsons_