[MERGE] UTF-8 encoding in binary diffs

John Arbash Meinel john at arbash-meinel.com
Thu Jul 12 16:29:00 BST 2007


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

Vincent Ladeuil wrote:
>>>>>> "robert" == Robert Collins <robertc at robertcollins.net> writes:
> 
>     robert> On Thu, 2007-07-12 at 16:50 +1000, Martin Pool wrote:
>     >> 
>     >> In other cases this might have value though - for example when we want
>     >> to allow for platforms with normalization.  But even then it's
>     >> probably better handled by having tests that don't need to exercise
>     >> normalization use names that won't be affected. 
> 
>     robert> I think what I'm getting at is that we can cheaply increase our test
>     robert> coverage of non-ascii names by making all tests use
>     robert> normalisation-requiring names whenever possible.
> 
> If by that you imply that the tests will fail on HFS+ filesystems
> mounted via nfs, I think I will be strongly -1 on such an idea.
> 
>         Vincent
> 
> 

My understanding was that Robert would have us try a few names until we got one
we knew would be represented correctly.

Even Linux can have its encoding set to iso-8859-1 so some names will not be
representable there.

Aaron had an interesting point about using something like os.stat(u'\1234') to
see if it could be used. However, that still throws a OSError since the file
doesn't exist.

I'm fairly confident that Python is just going through
'sys.getfilesystemencoding()', so we can just grab that, and try a few
path.encode(fs_enc). Note we should actually use osutils._fs_enc (only in a
saner manner than accessing a private var), since it handles when sys.get...()
returns None.

I have mixed feelings overall, though.

I like having more unicode testing. And changing most tests to use Unicode
names does stress more code overall.

I'm not sure how it falls into "each test should test 1 and only 1 thing, so
that failures are clear."

John
=:->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGlki7JdeBCYSNAAMRAjjQAKDJRa6qrlguCvux9oxW1awEU6O/1gCaA/CJ
uIaOAKerRwdgNj/DE6wEwp0=
=dI+0
-----END PGP SIGNATURE-----



More information about the bazaar mailing list