various merge improvements
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
various merge improvements
add -C flag: force update and overwrite local changes
add -m flag: allow merges with conflicts
we no longer do merge by default
and we print a warning message when the merge fails
fix bug in printing merge failure message
fix bug diffing files in 'm' state
manifest hash: 75545a6db45d1e371082343d01c9f177df0f9db3
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCpm6tywK+sNU5EO8RAvb+AJ0euC3YkUYA944hds3ooPxbw6NpVwCfc1dj
TiNsPIds560S5jgw44eWNto=
=GPXN
-----END PGP SIGNATURE-----
#!/bin/bash
#
# This is an example of using HGEDITOR to automate the signing of
# commits and so on.
MANIFEST=`grep '^HG: manifest hash' $1 | cut -b 19-`
if grep -q "^HG: merge resolve" $1 ; then
# we don't sign merges
$EDITOR $1
else
T=`mktemp`
CHANGED=`grep '^HG: changed' $1 | cut -b 13-`
# show a diff so writing commit comments is easier
hg diff $CHANGED >> $T
echo -e "\n\nmanifest hash: $MANIFEST" > $1
emacs -nw $T $1
head -1 $1 > $T
echo >> $T
gpg -a -u $HGUSER -o - --clearsign $1 >> $T
mv $T $1
fi