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 ---------------------------------