I cross-posted on stackoverflow -- http://stackoverflow.com/questions/39757352/arc-land-fails-no-commits-on-feature-branch-which-are-not-already-present-on
More or less, I created this scenario on purpose:
Steps # We use git-flow. $ git flow feature start <feature> # update a file $ git commit <file> -m '<message>' $ git rebase -i develop $ git push -u origin <feature-branch> # Try arcanist now $ arc diff # diff was accepted $ git flow feature finish <feature> # feature branch removed, now in develop, let's push $ git push
So now I'm in a state where the branch is gone, and I cannot arc land due to the local branch being unavailable. NOTE: git (and gitolite) works just fine
$ arc land Exception Branch "<feature-branch>" does not exist in the local working copy.
/rant.. I don't see my feature branch in Phabricator's Maniphest. Why not?
I can pull that branch back:
$ git fetch -a $ git checkout <feature-branch>
But I am still unable to land:
$ arc land Landing current branch '<feature-branch>'. TARGET Landing onto "<feature-branch>", selected by following tracking branches upstream to the closest remote. REMOTE Using remote "origin", selected by following tracking branches upstream to the closest remote. FETCH Fetching origin/<feature-branch>... Usage Exception: There are no commits on "<feature-branch>" which are not already present on the target.
And as far as I can tell, I have no recourse for closing that diff. How do I recover?