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.