[MERGE] Readable and properly encoded diff headers
John Arbash Meinel
john at arbash-meinel.com
Tue Aug 15 15:37:41 BST 2006
Aaron Bentley wrote:
> Adeodato Simó wrote:
>>> The attached patch changes %r to '%s' in the headers, and also encodes
>>> the filenames in the proper encoding, not hardcoded 'utf8'.
>
> I don't think we should assume that the destination is a terminal. For
> example, I believe this functionality is invoked by bzr-gtk's gdiff, and
> so changing it to something other than utf-8 might be a regression.
>
> So I think the default should remain utf-8, but cmd_diff should override
> it to cmd_diff.outf.
>
> Aaron
I think what we need is for 'show_diff_trees' to take the path_encoding
parameter, and pass it down the line. Rather than have it detected in
_show_diff_trees.
And then 'cmd_diff' can set path_encoding = osutils.terminal_encoding().
'self.outf' for cmd_diff is setup *without* encoding, because we don't
want to silently transcode the contents of the file. What I would really
like is to have a 'do not accept unicode' file-like object when
encoding_type='exact'.
The to_file should definitely be self.outf. And it would be possible for
self.outf to have an encoding wrapper, and to write out the paths in
unicode. But I feel it leaves us open to a bug when writing something
else as part of 'diff'.
John
=:->
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 254 bytes
Desc: OpenPGP digital signature
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20060815/d81e747b/attachment.pgp
More information about the bazaar
mailing list