diff headers should contain non-ascii filenames in user_encoding, not in utf-8
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
New
|
Undecided
|
Unassigned |
Bug Description
Currently bzr can produce diff as result of 5 different operations:
bzr diff
bzr commit --show-diff
bzr log -p
bzr merge --preview
bzr send
In most of these commands non-ascii filename always shown as utf-8 string. This is bad for windows users, because their locale never utf-8 (at least by default), and not always it's possible to switch console locale to utf-8 (chcp 65001 won't work on all Windows versions).
Furthermore, bzr itself does not understand cp65001 codepag because Python does not recognize it as utf-8, see http://
I think all comands except `send` should always print filenames in user_encoding, or AT LEAST show them in user_encoding in the === line (as bzr ci --show-diff currently does). Because all these commands are intended to produce output for humans.
Also, I should note that GNU diff (from http://
See attached files with output of various commands.
Will be nice to fix this before 2.0. Some guidance needed from core devs, especially about writing tests for this changes.