[Top][All Lists]

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

Re: removed files reappearing when they shouldn't

From: Robert Hayes
Subject: Re: removed files reappearing when they shouldn't
Date: Tue, 22 Apr 2003 11:05:29 +0100
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.1) Gecko/20020826

Larry Jones wrote:
Robert Hayes writes:

Basically, consider what happens if you:
- add a file "foo" to directory "bar" at, say, 11:00
- check it out to two locations, "a" and "b" at 11:01
- do a cvs remove of foo from location "a" at 11:02

Do you commit the remove?  I assume so, otherwise you wouldn't get the
up-to-date check failure.

Yes, I did.

- modify foo in location "b", "Up-to-date check failed" error, update
(fine) and then commit changes at 11:03

The update shouldn't be fine, you should get a conflict saying that foo
is modified but no longer in the repository.

That's right - by fine, I meant that it was fine to get that error since I expected a conflict, not that the update was fine :)

Clear?  (btw, I'm using cvs version 1.11)

1.11 is pretty old, I suggest you upgrade to the current release
(1.11.5, which you can get from www.cvshome.org).

Ok, I will try this.

Now, this is where things happen that I don't understand.
- if I check out "bar" at 11:06 (not specifying any
revision/tag/branch/time details), the file "foo" is not there.
- if I check out "bar" at 11:06 (specifying a time such as "2 seconds
ago"), the file "foo" is still not there.
- however, if I check out "bar" at 11:06 (setting the time to be,
e.g. what the time was a short time ago (say 11:05)), the file "foo"
_is_ there.
Is that not bizarre?

If you do a log on the file, all should be clear.  When you checked in
the changes from b, you effectively resurrected the dead file but CVS
didn't notice and left it in the Attic rather than moving it back into
the main directory.  On a normal checkout with no tag or date, CVS
doesn't look in the Attic, so you don't get the file even though it's
alive.  When you use an explicit date/time that's during the time the
file was dead, CVS looks in the Attic but you don't get the file because
it's dead.  When you use an explicit date/time that's during the time
the file is alive, you get that revision.

That is correct. However, I used an explicit date/time that was during the time the file was dead (i.e. I removed file "foo" at time "11:02", tried to check it out (specifying the time as 11:05) and it was there, when clearly it shouldn't have been!).

I'm going to assume that it's a bug in the version of the server I have and see if it goes when I upgrade.

thanks for the answer, apologies for my delay in replying!

~Robert Hayes


Realtime Interactive Physics


reply via email to

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