Page MenuHomePhabricator

Binary changes aren't uploaded using mercurial under windows
Closed, DuplicatePublic

Description

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.

Event Timeline

richardvanvelzen assigned this task to epriestley.
richardvanvelzen raised the priority of this task from to Needs Triage.
richardvanvelzen updated the task description. (Show Details)
richardvanvelzen added a project: Arcanist.
richardvanvelzen added a subscriber: richardvanvelzen.

I did my best to find an existing task, but I couldn't find it. I even replied on it, so I should have known.