[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Different Capitalised versions of the same filename are not copied accross correctly

From: Andy Levy <andy.levy_at_gmail.com>
Date: 2007-11-25 19:12:40 CET

On Nov 25, 2007 9:35 AM, Brad Stiles <bradstiles@bellsouth.net> wrote:
> > i have two files (amongst others) in my repository which have
> different filenames by captilisation
> > only (mirror-tealight.jpg & Mirror-Tealight.jpg). In a linux command
> line checkout, every thing
> > is fine. On my local windows machine using:
>
> There is a defect in most file systems used by *nix operating systems
> that erroneously treats files with exactly the same name as completely
> separate entities if they differ in case.

If by "defect" you mean "nearly all filesystems, including all those
on *NIX, have worked this way intentionally for over 20 years" then I
guess you're right.

Most *NIX folks consider Windows to have the defective filesystems in
that they're case-INsensitive.

From a programming standpoint the string "File.txt" *is* different
from "file.TxT", which is different from "filE.txT" and so on, unless
one intentionally make their code case-insensitive - thus the *NIX and
Subversion behavior makes perfect sense.

> Windows file systems
> implement the rational model, ignoring case, but unfortunately, it's the
> user who has to make sure he doesn't get caught.

"Rational" depends upon how you look at it. Personally I find it odd
that Windows *preserves* case, but is case-*in*sensitive. You can
rename a file from File.txt to file.txt, but you can't then put
another file in that directory called File.txt.

So basically, Windows makes it look like the names are different, but
really, they're not.

Let's look at it another way. You keep all your client invoices in one
directory, named LastName-Year-Month-Invoice.pdf. You have one client
named VanSant, and another named Vansant. On Windows, you can't have
VanSant-2007-11-Invoice.pdf and Vansant-2007-11-Invoice.pdf, because
Windows thinks they're the same file. Whereas *NIX filesystems will
see the differing case and properly recognize that it's 2 distinct
files.

> You can:
>
> A: Never check that directory out to a working copy on a Windows file
> system.
> B: Rename the file(s) in the repository so that they are actually named
> something different, if you intended them to be different files.
> C: Delete one of the files in the repository so that there isn't any
> conflict.

D: Install a pre-commit hook to prevent files whose names differ only
in case from being committed to the same directory. For example, one
of the first 2 scripts listed at
http://subversion.tigris.org/tools_contrib.html#hook_scripts

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: users-help@tortoisesvn.tigris.org
Received on Sun Nov 25 19:12:45 2007

This is an archived mail posted to the TortoiseSVN Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.