Mercurial > hg > mercurial-crew-with-dirclash
annotate hgeditor @ 254:c03f58e5fd2d
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-----
author | mpm@selenic.com |
---|---|
date | Sat, 04 Jun 2005 18:34:35 -0800 |
parents | 9a2075c0b9b8 |
children | a69c3b2957d1 |
rev | line source |
---|---|
186 | 1 #!/bin/bash |
2 # | |
3 # This is an example of using HGEDITOR to automate the signing of | |
4 # commits and so on. | |
5 | |
6 MANIFEST=`grep '^HG: manifest hash' $1 | cut -b 19-` | |
7 if grep -q "^HG: merge resolve" $1 ; then | |
8 # we don't sign merges | |
9 $EDITOR $1 | |
10 else | |
11 T=`mktemp` | |
12 CHANGED=`grep '^HG: changed' $1 | cut -b 13-` | |
13 # show a diff so writing commit comments is easier | |
14 hg diff $CHANGED >> $T | |
15 echo -e "\n\nmanifest hash: $MANIFEST" > $1 | |
16 emacs -nw $T $1 | |
17 head -1 $1 > $T | |
18 echo >> $T | |
19 gpg -a -u $HGUSER -o - --clearsign $1 >> $T | |
20 mv $T $1 | |
21 fi |