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