Case in point: I was adding some binary files which are test targets for some unit tests. However, these didn't show up in the revision, and when running `arc patch` the files turned up empty.
I was curious enough to look deeper to see what the core issue was, and [[ https://secure.phabricator.com/diffusion/ARC/browse/master/src/repository/api/ArcanistMercurialAPI.php;565a96e0ee546e5ed794d0b493d3993c3f0af778$480 | I found it ]]. `escapeshellarg` on Windows removes `%` from the input, leading to the bulk loading of file data not working.
A naive fix is probably easy, I managed to work around for now with the following bit at the top of that method:
```
if (phutil_is_windows()) {
$filedata = array();
foreach ($paths as $path) {
$filedata[$path] = $this->getFileDataAtRevision($path, $revision);
}
return $filedata;
}
```
... but I'd rather see a suitable solution in the upstream. I couldn't think of anything better than this.