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