Arc not supporting git 2.17.1


Observed Behavior:
When running arc diff with git 2.17.4, it failed on
git ls-tree ‘base’ – ‘’
with message:
fatal: empty string is not a valid pathspec. please use . instead if you meant to match all paths

It should be similar to this issue:
as the problem is fixed by porting the same patch to arcanist/src/repository/api/ArcanistGitAPI.php:1035

Expected Behavior:
arc diff should run successfully

Phabricator Version:
arcanist (19 Jun 2018)

Reproduction Steps:
On a machine with 2.17.4,
create a new branch and commit changes.
arc diff with origin/master


I can’t reproduce this.

I can’t find any mention of git version “2.17.4” in any of the formal channels.

I was able to get the error mentioned in 2.18 using git ls-tree -- '', but I couldn’t get arc diff to fail with anything similar.


Turn out it happens only when there is large file in the diff
Here is the updated reproduction steps:

Reproduction Steps:

  1. With git 2.17.1
  2. On a new branch commit a large text file (My one is a 6MB sample data for unit testing)
  3. Do arc diff
  4. Answer Yes when arc asks if to mark the large text file as binary.
  5. arc diff failed on git ls-tree



BTW, I am using 2.17.1. Sorry for the typo.
The title is corrected but it seems I can’t edit the post. It prompts if to abandon the post if I click edit.


Thanks, I was able to reproduce with 2.18 and a 6mb text file.