[RFC] TreeTransform fooled by os.rename on case insensitive filesystems

Aaron Bentley aaron at aaronbentley.com
Wed Sep 3 16:33:55 BST 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

John Arbash Meinel wrote:
> Vincent Ladeuil wrote:
>> I think this indicates a deeper problem than just a slight
>> mismatch between Windows and CaseInsensitiveFilesystemFeature.

>> Any idea about where and how that should be fixed ?

It would help if you specified what the deeper problem is.

No, I don't think we should be worried TreeTransform renaming a file
over top of another file.  We already consider that a conflict.

There is a small window between conflict detection and transform
application, where a file can be put into the way.  There is no way to
avoid this, you can just change the size of the window.

This test is testing extreme conditions.  I don't consider it a problem
if TreeTransform fails under those conditions.

> One problem becomes that in order to handle this sort of thing, we then need
> to "Look Before You Leap" for all the files you are about to add

We already look before we leap; it's called conflict detection.  We
don't need to replicate it.  Conflict detection and resolution is always
done immediately before renaming files.

> What I would also *like* for Mac, is a way to get back the final filename,
> rather than just a name we can access it with. And I don't know how to do
> that. (Very weird result in testing... It seems that NTFS under Linux *is*
> case-sensitive.)

Interesting.  Of course, NTFS can also be case-sensitive under Windows,
if you know the right APIs.

> So... in the interest of moving things forward, I'm fine with turning this
> into a 'knownFailure()' on Mac, until we can figure out a solution.

Just change it into a file type that we can guarantee won't allow
rename-on-top.  i.e. a directory.

Aaron
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFIvq5j0F+nu1YWqI0RAkPJAJ0RPyEaBER6k+QDfLPyv0RHuYw7oQCfUtas
8LL/kQ50q4sBpzvQ6Mc10uY=
=ub/I
-----END PGP SIGNATURE-----



More information about the bazaar mailing list