annotate tests/test-gpg.t @ 40417:49c7b701fdc2 stable

phase: add an archived phase This phase allows for hidden changesets in the "user space". It differs from the "internal" phase which is intended for internal by-product only. There have been discussions at the 4.8 sprint to use such phase to speedup cleanup after history rewriting operation. Shipping it in the same release as the 'internal-phase' groups the associated `requires` entry. The important bit is to have support for this phase in the earliest version of mercurial possible. Adding the UI to manipulate this new phase later seems fine. The current plan for archived usage and user interface are as follow. On a repository with internal-phase on and evolution off: * history rewriting command set rewritten changeset in the archived phase. (This mean updating the cleanupnodes method). * keep `hg unbundle .hg/strip-backup/X.hg` as a way to restore changeset for now (backup bundle need to contains phase data) * [maybe] add a `hg strip --soft` advance flag (a light way to expose the feature without getting in the way of a better UI) Mercurial 4.8 freeze is too close to get the above in by then. We don't introduce a new repository `requirement` as we reuse the one introduced with the 'archived' phase during the 4.8 cycle.
author Boris Feld <boris.feld@octobus.net>
date Wed, 17 Oct 2018 14:47:01 +0200
parents 80ba176bad62
children f58928715d0c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
22046
7a9cbb315d84 tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents: 21711
diff changeset
1 #require gpg
7a9cbb315d84 tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents: 21711
diff changeset
2
12428
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
3 Test the GPG extension
8809
6fce36336e42 gpg: add test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
4
12428
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
5 $ cat <<EOF >> $HGRCPATH
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
6 > [extensions]
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
7 > gpg=
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
8 >
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
9 > [gpg]
29789
66e038fb3c0d test-gpg: make temporary copy of GNUPGHOME
Yuya Nishihara <yuya@tcha.org>
parents: 25472
diff changeset
10 > cmd=gpg --no-permission-warning --no-secmem-warning --no-auto-check-trustdb
12428
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
11 > EOF
29789
66e038fb3c0d test-gpg: make temporary copy of GNUPGHOME
Yuya Nishihara <yuya@tcha.org>
parents: 25472
diff changeset
12 $ GNUPGHOME="$TESTTMP/gpg"; export GNUPGHOME
66e038fb3c0d test-gpg: make temporary copy of GNUPGHOME
Yuya Nishihara <yuya@tcha.org>
parents: 25472
diff changeset
13 $ cp -R "$TESTDIR/gpg" "$GNUPGHOME"
66e038fb3c0d test-gpg: make temporary copy of GNUPGHOME
Yuya Nishihara <yuya@tcha.org>
parents: 25472
diff changeset
14
29873
80ba176bad62 test-gpg: start gpg-agent by gpg-connect-agent only if GnuPG v2.1+ detected
Yuya Nishihara <yuya@tcha.org>
parents: 29791
diff changeset
15 Start gpg-agent, which is required by GnuPG v2
80ba176bad62 test-gpg: start gpg-agent by gpg-connect-agent only if GnuPG v2.1+ detected
Yuya Nishihara <yuya@tcha.org>
parents: 29791
diff changeset
16
80ba176bad62 test-gpg: start gpg-agent by gpg-connect-agent only if GnuPG v2.1+ detected
Yuya Nishihara <yuya@tcha.org>
parents: 29791
diff changeset
17 #if gpg21
80ba176bad62 test-gpg: start gpg-agent by gpg-connect-agent only if GnuPG v2.1+ detected
Yuya Nishihara <yuya@tcha.org>
parents: 29791
diff changeset
18 $ gpg-connect-agent -q --subst /serverpid '/echo ${get serverpid}' /bye \
80ba176bad62 test-gpg: start gpg-agent by gpg-connect-agent only if GnuPG v2.1+ detected
Yuya Nishihara <yuya@tcha.org>
parents: 29791
diff changeset
19 > >> $DAEMON_PIDS
80ba176bad62 test-gpg: start gpg-agent by gpg-connect-agent only if GnuPG v2.1+ detected
Yuya Nishihara <yuya@tcha.org>
parents: 29791
diff changeset
20 #endif
80ba176bad62 test-gpg: start gpg-agent by gpg-connect-agent only if GnuPG v2.1+ detected
Yuya Nishihara <yuya@tcha.org>
parents: 29791
diff changeset
21
80ba176bad62 test-gpg: start gpg-agent by gpg-connect-agent only if GnuPG v2.1+ detected
Yuya Nishihara <yuya@tcha.org>
parents: 29791
diff changeset
22 and migrate secret keys
29790
94fb0458a791 test-gpg: start gpg-agent under control of the test runner
Yuya Nishihara <yuya@tcha.org>
parents: 29789
diff changeset
23
94fb0458a791 test-gpg: start gpg-agent under control of the test runner
Yuya Nishihara <yuya@tcha.org>
parents: 29789
diff changeset
24 #if gpg2
29791
28591876fa63 test-gpg: run migration of v1 secret keys beforehand
Yuya Nishihara <yuya@tcha.org>
parents: 29790
diff changeset
25 $ gpg --no-permission-warning --no-secmem-warning --list-secret-keys \
28591876fa63 test-gpg: run migration of v1 secret keys beforehand
Yuya Nishihara <yuya@tcha.org>
parents: 29790
diff changeset
26 > > /dev/null 2>&1
29790
94fb0458a791 test-gpg: start gpg-agent under control of the test runner
Yuya Nishihara <yuya@tcha.org>
parents: 29789
diff changeset
27 #endif
94fb0458a791 test-gpg: start gpg-agent under control of the test runner
Yuya Nishihara <yuya@tcha.org>
parents: 29789
diff changeset
28
12428
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
29 $ hg init r
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
30 $ cd r
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
31 $ echo foo > foo
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
32 $ hg ci -Amfoo
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
33 adding foo
8809
6fce36336e42 gpg: add test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
34
12428
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
35 $ hg sigs
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
36
21711
0986af9e7006 gpg: accept '--edit' like other commands creating new changeset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20305
diff changeset
37 $ HGEDITOR=cat hg sign -e 0
16927
7922004a46b8 gpg: lowercase messages
Martin Geisler <mg@aragost.com>
parents: 16913
diff changeset
38 signing 0:e63c23eaa88a
21711
0986af9e7006 gpg: accept '--edit' like other commands creating new changeset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20305
diff changeset
39 Added signature for changeset e63c23eaa88a
0986af9e7006 gpg: accept '--edit' like other commands creating new changeset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20305
diff changeset
40
0986af9e7006 gpg: accept '--edit' like other commands creating new changeset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20305
diff changeset
41
0986af9e7006 gpg: accept '--edit' like other commands creating new changeset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20305
diff changeset
42 HG: Enter commit message. Lines beginning with 'HG:' are removed.
0986af9e7006 gpg: accept '--edit' like other commands creating new changeset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20305
diff changeset
43 HG: Leave message empty to abort commit.
0986af9e7006 gpg: accept '--edit' like other commands creating new changeset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20305
diff changeset
44 HG: --
0986af9e7006 gpg: accept '--edit' like other commands creating new changeset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20305
diff changeset
45 HG: user: test
0986af9e7006 gpg: accept '--edit' like other commands creating new changeset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20305
diff changeset
46 HG: branch 'default'
0986af9e7006 gpg: accept '--edit' like other commands creating new changeset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20305
diff changeset
47 HG: added .hgsigs
8809
6fce36336e42 gpg: add test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
48
12428
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
49 $ hg sigs
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
50 hgtest 0:e63c23eaa88ae77967edcf4ea194d31167c478b0
8809
6fce36336e42 gpg: add test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
51
12428
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
52 $ hg sigcheck 0
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
53 e63c23eaa88a is signed by:
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
54 hgtest
16289
aae219a99a6e test-gpg: make sure gpg does not modify the trustdb.gpg file
Greg Ward <greg@gerg.ca>
parents: 12428
diff changeset
55
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16350
diff changeset
56 $ cd ..