unify checkout and resolve into update
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
unify checkout and resolve into update
This replaces checkout and resolve with a single command:
$ hg help co
hg update [node]
update or merge working directory
If there are no outstanding changes in the working directory and
there is a linear relationship between the current version and the
requested version, the result is the requested version.
Otherwise the result is a merge between the contents of the
current working directory and the requested version. Files that
changed between either parent are marked as changed for the next
commit and a commit must be performed before any further updates
are allowed.
manifest hash: 513d285d7fb775d0560de49387042a685ea062f7
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFComS7ywK+sNU5EO8RAmgRAJ96GA6qvHLy0Jp0fzUrR2os2azPuACePsdC
YBldZtA7yIuTnV2vIbn7OSE=
=QtM/
-----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