Re: removed files reappearing when they shouldn't

Robert Hayes <[email protected]>
Newsgroups gmane.comp.version-control.cvs.bugs
Message-ID <[email protected]>
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

---------------------------------

www.havok.com
Realtime Interactive Physics

---------------------------------
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.