I have a problem with ##arc diff## crashing with the following message:
> Exception
> ERR-CONDUIT-CORE: Invalid parameter information was passed to method 'differential.parsecommitmessage', could not decode
> JSON serialization. Data: 0
Environment:
OS: Windows 7
repo: Mercurial
This only happens when there are commit messages in the hg repo which have non-ascii characters (e.g å,ä,ö).
I have double checked that they are actually stored correctly in the repo itself as UTF-8 double byte characters, and they are.
When trying to find out where it goes wrong, I found out that where it actually crashes is in ConduitClient::callMethod row 72: [[https://secure.phabricator.com/diffusion/PHU/browse/master/src/conduit/ConduitClient.php;094582983b54e3092122bbffaf600b183c6d0f1a$72 | rPHU/src/conduit/ConduitClient.php#72]]; the json_encode seems to choke on the garbled text produced by mercurial and just return false.
I managed to get this working properly by injecting an explicit ##--encoding "UTF-8"## into all the hg log commands in ArcanistMercurialAPI. I have no idea though if this messes things up for the linux crowd, or for everyone else but me for that matter.
I'm not sure how I would go about making a pull request or equivalent for this, any help or guidance would be appreciated if you deem this to be fix-worthy.