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.
#!/bin/sh
set -e
echo "[extensions]" >> $HGRCPATH
echo "hbisect=" >> $HGRCPATH
echo % init
hg init
echo % committing changes
count=0
echo > a
while test $count -lt 32 ; do
echo 'a' >> a
test $count -eq 0 && hg add
hg ci -m "msg $count" -d "$count 0"
echo % committed changeset $count
count=`expr $count + 1`
done
echo % log
hg log
echo % hg up -C
hg up -C
echo % bisect test
hg bisect init
hg bisect bad
hg bisect good 1
hg bisect good
hg bisect good
hg bisect good
hg bisect bad
hg bisect good