case sensitivity on Windows

Alexander Belchenko bialix at ukr.net
Wed Oct 8 14:44:51 BST 2008


Mark Hammond пишет:
> Alex's recent post reminded me of some other case-sensitivity issues on
> Windows I've struck.  Consider:
> 
> ++O:\temp\cs>touch Foo
> ++O:\temp\cs>bzr add foo
> added foo
> 
> # At this point, Windows has a file named 'Foo' - it will accept 'foo' - but
> the name is 'Foo' - eg:
> 
> ++O:\temp\cs>dir
> ....
> 09/10/2008  12:09 AM                 0 Foo
> 
> # But now we've told bzr the name is 'foo', bzr doesn't want to accept 'Foo'
> even though that is the name:
> 
> ++O:\temp\cs>bzr status Foo
> unknown:
>   Foo
> 
> # checkin, etc - but always we end up with:
> ++O:\temp\cs>bzr status Foo
> unknown:
>   Foo
> 
> So we are in the situation that if we asked Windows what the filename is, it
> would say 'Foo' - but bzr refuses to recognize that name even though that
> file is versioned.  In other words, enumerating the file-system using the
> operating-system will cause bzr to give incorrect results.  Tab-completion
> in a command-prompt is very likely to strike this.
> 
> I'm fairly sure this is a bug, but I've no real idea where!  Maybe a bug in
> 'add'?  Is there a document which describes how bzr is supposed to work in a
> Windows file-system, or any other reference point for working out if this is
> considered a problem, and if so, where that problem lies?

I'm sure there is bug report. Checks bugs with 'win32' tag in bzr's bugs list.

Real problem in using os.lstat/os.stat in bzr code.

A while ago I've wrote specification draft but was unable to implement it for
some reasons. Only one thing implemented: tree transform detected case collisions
and report about this to user (thanks to Aaron).

https://blueprints.launchpad.net/bzr/+spec/case-insensitive-filesystems
http://bazaar-vcs.org/CaseInsensitiveWorkingTreeSupport




More information about the bazaar mailing list