[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Deleted case insensitive folders clashing on windows
From: |
Spiro Trikaliotis |
Subject: |
Re: Deleted case insensitive folders clashing on windows |
Date: |
Wed, 28 Nov 2007 19:44:20 +0100 |
User-agent: |
Mutt/1.5.13 (2006-08-11) |
Hello Frans,
* On Wed, Nov 28, 2007 at 10:24:08AM +0100 Frans Englich wrote:
> This is all a bit hilarious since the directory is deleted, and there's no
> reason to try to write it. This was experienced with TortoiseCVS, which
> passes the -P flag, it seems.
I did not investigate very much, but it seems CVS handles the -P flag
*after* it has checked out everything. Thus, it first creates both
directories. After everything is checked out, it goes through the
directories and deletes the empty ones. If you have the "name clash"
because of the case insensitive FS, this is too late.
> Any ideas for how to fix this?
Yes: The CVS people might want to change the behaviour of the -P
command. ;)
For me, I found a workaround, but you have to modify the CVS/
directories contents. I assume you have a project project with
project/pro and project/PRO directories, and project/PRO is empty:
0. (Make sure to *never* use "cvs up -d" in this sandbox, or you will
have to do everything manually again)
1. Now, cleanly check out a new sandbox of project:
$ cvs co project
and cd to that directory:
$ cd project
2. Now, issue a "cvs up -P". If there is no error message ("is in the
way... move away..."), you are done. Skip the rest of the
instructions.
(Yes, from me experience, the order in which CVS processes the
directories changes, even with exactly the same setup and the same
machines. I don't know why, but this is the case.)
3. Open CVS/Entries in your favorite editor and change the entry PRO to
pro.
4. Open pro/CVS/Repository and change the directory name PRO to the
lower-case one. MAKE SURE YOU KEEP THE REST OF THE STRUCTURE!
(5. Repeat steps 3 and 4 for every directory where this problem occurs,
as reported in step 2)
6. Issue a "cvs up". Now, everything should work fine.
With a little experience, you can even automate this whole process...
(Been there, done that.)
HTH,
Spiro.
--
Spiro R. Trikaliotis http://opencbm.sf.net/
http://www.trikaliotis.net/ http://www.viceteam.org/