[cvsnt] Problems updating when modules differ only in case (2.0.51d)

Lionello Lunesu lionello.lunesu at crystalinter.remove.com
Fri Sep 3 11:14:17 BST 2004


Hi..

Client OS: Windows XP SP2, NTFS.
Client: Concurrent Versions System (CVSNT) 2.0.51d (client/server)
Server: Concurrent Versions System (CVS) 1.11.16 (client/server)

I did a first time check out for a project from SourceForge, using Tortoise. 
Everything worked fine.
I then did a cvs update on the save project and got many "no longer in 
repository" messages, resulting a all files being deleted!

I found out what happened: the repository had two modules with the same 
name, differing only in the casing (one was all lowercase, the other all 
uppercase). One folder was empty, the other was full.

After the check-out, the folder on my local drive had the casing of the 
empty folder. So when I updated it, cvs was updating against the right 
module (same casing) but that one being empty, it deleted all my files.

I did the check out again, but this time renamed the folder (and its entries 
in the cvs folder) to match the casing of the actually used module. The cvs 
update worked fine now.

I think the folder for the empty module was created first, then the folder 
with other module (this should fail, but a "does folder exist" will 
succeed). The option "Prune Empty Directories" was specified. But does this 
remove empty folders immediately, or only after the check-out/update is 
done?

But wait, the "Entries" file in the cvs dirs also had the casing of the 
wrong module!? How can this be? SourceForge is using *nix so the problem 
must be at the client side.

-- 
L.

-- Get the CACert root certificate (and a personal one) at 
http://cacert.org/ 





More information about the cvsnt mailing list