Mercurial > hg
annotate hgeditor @ 405:99470ae6b424
Check if repository exists
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Check if repository exists
From: Goffredo Baroncelli <kreijack@libero.it>
Subject: Re: Trivial: in remoterepository.__init__ check if the repository
exist
I hope that this is correct :-)
Another typo, another patch, tank to Peter Stamfest and Radoslaw Szkodzinski.
The patch is trivial: adds a check in the body of the init method of the
+remoterepository
class. Before if the path didn't exist, hg would not raise any error.
Test manually performed after the patch has been merged:
test: result
create a new repository from another local repository OK ( no problem )
create an empty repository OK ( no problem )
pull from a not existent repositary OK ( raise an error )
(error message tweaked by mpm)
manifest hash: ac7f625a8d87c693b61718b9fc5604d28b882bbd
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCuM0gywK+sNU5EO8RAsnGAJ42HE3m01tlGqrIR3GVfuhvCjEJkgCfffvp
bEhfvjaiAdBV50HMULq8N00=
=QDHW
-----END PGP SIGNATURE-----
author | mpm@selenic.com |
---|---|
date | Tue, 21 Jun 2005 18:29:52 -0800 |
parents | b4e0e20646bb |
children | ab53998b9dcd 934279f3ca53 |
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 | |
348
442eb02cf870
Improved hgeditor:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
280
diff
changeset
|
6 T1=""; T2="" |
442eb02cf870
Improved hgeditor:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
280
diff
changeset
|
7 cleanup_exit() { |
442eb02cf870
Improved hgeditor:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
280
diff
changeset
|
8 rm -f "$T1" "$T2" |
442eb02cf870
Improved hgeditor:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
280
diff
changeset
|
9 exit $1 |
442eb02cf870
Improved hgeditor:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
280
diff
changeset
|
10 } |
442eb02cf870
Improved hgeditor:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
280
diff
changeset
|
11 |
442eb02cf870
Improved hgeditor:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
280
diff
changeset
|
12 case "${EDITOR:=vi}" in |
442eb02cf870
Improved hgeditor:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
280
diff
changeset
|
13 emacs) |
442eb02cf870
Improved hgeditor:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
280
diff
changeset
|
14 EDITOR="$EDITOR -nw" |
442eb02cf870
Improved hgeditor:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
280
diff
changeset
|
15 ;; |
442eb02cf870
Improved hgeditor:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
280
diff
changeset
|
16 gvim|vim) |
442eb02cf870
Improved hgeditor:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
280
diff
changeset
|
17 EDITOR="$EDITOR -f -o" |
442eb02cf870
Improved hgeditor:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
280
diff
changeset
|
18 ;; |
442eb02cf870
Improved hgeditor:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
280
diff
changeset
|
19 esac |
442eb02cf870
Improved hgeditor:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
280
diff
changeset
|
20 |
442eb02cf870
Improved hgeditor:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
280
diff
changeset
|
21 if grep -q "^HG: merge resolve" "$1" ; then |
186 | 22 # we don't sign merges |
348
442eb02cf870
Improved hgeditor:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
280
diff
changeset
|
23 exec $EDITOR "$1" |
186 | 24 else |
348
442eb02cf870
Improved hgeditor:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
280
diff
changeset
|
25 T1=`mktemp`; T2=`mktemp` |
442eb02cf870
Improved hgeditor:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
280
diff
changeset
|
26 MANIFEST=`grep '^HG: manifest hash' "$1" | cut -b 19-` |
442eb02cf870
Improved hgeditor:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
280
diff
changeset
|
27 |
442eb02cf870
Improved hgeditor:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
280
diff
changeset
|
28 echo -e "\n\nmanifest hash: $MANIFEST" >> "$T1" |
442eb02cf870
Improved hgeditor:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
280
diff
changeset
|
29 grep -vE '^(HG: manifest hash .*)?$' "$1" >> "$T1" |
442eb02cf870
Improved hgeditor:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
280
diff
changeset
|
30 hg diff >> "$T2" |
442eb02cf870
Improved hgeditor:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
280
diff
changeset
|
31 |
442eb02cf870
Improved hgeditor:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
280
diff
changeset
|
32 CHECKSUM=`md5sum "$T1"` |
442eb02cf870
Improved hgeditor:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
280
diff
changeset
|
33 $EDITOR "$T1" "$T2" || cleanup_exit $? |
442eb02cf870
Improved hgeditor:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
280
diff
changeset
|
34 echo "$CHECKSUM" | md5sum -c 2>/dev/null && cleanup_exit 0 |
442eb02cf870
Improved hgeditor:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
280
diff
changeset
|
35 { |
442eb02cf870
Improved hgeditor:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
280
diff
changeset
|
36 head -1 "$T1" |
442eb02cf870
Improved hgeditor:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
280
diff
changeset
|
37 echo |
442eb02cf870
Improved hgeditor:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
280
diff
changeset
|
38 grep -v "^HG:" "$T1" | gpg -a -u "${HGUSER:-$EMAIL}" --clearsign |
442eb02cf870
Improved hgeditor:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
280
diff
changeset
|
39 } > "$T2" && mv "$T2" "$1" |
442eb02cf870
Improved hgeditor:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
280
diff
changeset
|
40 cleanup_exit $? |
186 | 41 fi |
348
442eb02cf870
Improved hgeditor:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
280
diff
changeset
|
42 |