[MERGE][0.15] _iter_changes returns Unicode paths

John Arbash Meinel john at arbash-meinel.com
Thu Mar 15 23:40:23 GMT 2007

Hash: SHA1

The attached patch adds a couple tests to intertree to make sure that it
properly returns decoded tuples. This is specifically to fix this bug:

When I started debugging it, I found a few more bugs in the
_iter_changes code.

I don't specifically like this fix, nor do I prefer the test case. The
unknowns tests is testing too many things at the same time, and the
change to dirstate causes it to decode the short names all the time,
rather than only doing it after we've determined we are going to yield
this tuple.

I did do one thing I like, which is to clean up the test_compare.py code
to have the helpers return locked trees, so that we have a lot less
manual locking to deal with.

What I would like as a "correct" fix, would be to have the decode
happening in _iter_changes right before we yield, rather than in
_process_entry (but you have to be careful because the name could be
None. Possibly entry[2] and utf8_decode(entry[2])[0] would be sufficient).

And the test should be split up into multiple tests, each one testing
one aspect (added, removed, etc) for unicode correctness.

However, I'm rapidly running out of steam for today, and I need to get
this posted somewhere to either merge it into bzr.dev so that 0.15rc3
has fixed this regression, or for someone to pick up and clean up for a
nicer 0.15rc3 fix.

The code is available in the branch associated with the bug.

If this hole doesn't need to be plugged tonight, I'll get back on it

Version: GnuPG v1.4.5 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: iter_changes_unicode_unknowns.patch
Type: text/x-patch
Size: 49828 bytes
Desc: not available
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20070315/da08a8ef/attachment-0001.bin 

More information about the bazaar mailing list