patch.py: re-add the ability to use an external patch program
This is now invoked by default only if ui.patch is set. Otherwise, we
use our built-in patch. If that fails because it can't find any valid
hunks, we'll fall back to trying the external patch command.
adding a
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
% push should push to default when default-push not set
pushing
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
% push should push to default-push when set
pushing
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files