If the base commit for arc patch does not exist locally, try to fetch it
Summary:
If the commit does not exist locally, aborting still leaves
the user checked out on the branch. In nearly all cases, all that is
necessary is a fetch -- but the branch must also be cleaned up. This
leads to the pattern of:
arc patch D12345 [...base commit does not exist...] ^C git checkout master git branch -D arcpatch-D12345 git fetch arc patch D12345
Solve this common problem by simply trying to fetch once if the commit does not
exist locally.
Test Plan: Ran arc patch on a recent diff.
Reviewers: Blessed Reviewers, epriestley
Reviewed By: Blessed Reviewers, epriestley
Subscribers: epriestley
Differential Revision: https://secure.phabricator.com/D17949