~ | | If "hg diff" and "git diff" process a file that is (or was) encoded in Latin-1 (and contains non-ASCII characters), their output would cause rbtools.utils.process.execute to raise a UnicodeDecodeError, since it decoded with only UTF-8. |
| ~ | Mercurial diffs were previously treated as UTF-8 strings, which may fail if the file has another encoding. It may cause utils.process.execute to raise a UnicodeDecodeError, since it decoded with only UTF-8. |
| |
|
~ | | I have added handling of output from commands that contain both UTF-8 and/or Latin-1 characters, by decoding the output line by line, trying both UTF-8 and Latin-1. This allows handling of diffs for Latin-1 files, and files that change encoding to/from UTF-8 from/to Latin-1.
|
| ~ | I have changed clients.mercurial to supply "results_unicode=False" when running the diff command. This seems to be in line with what is done in clients.git and clients.svn. |
- | | More encodings could possibly considered if desired, but I've chosen Latin-1 since it seems most common (apart from UTF-8). |