Handle Mercurial diffs as byte strings

Review Request #7184 — Created April 9, 2015 and submitted — Latest diff uploaded

Information

RBTools
master
bc8978d...

Reviewers

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 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.

  • Used rbt post to upload a diff that converts a file (with non-ASCII characters) from UTF-8 to Latin-1, and vice versa, with success.
  • Used rbt patch to apply the diffs