tests/test-gpg.t
author Patrick Mezard <patrick@mezard.eu>
Sat, 28 Apr 2012 15:01:57 +0200
branchstable
changeset 16536 63c817ea4a70
parent 16350 4f795f5fbb0b
child 16913 f2719b387380
permissions -rw-r--r--
commit: abort on merge with missing files Here is a script illustrating the previous behaviour: The merge brings a new file 'b' from remote $ hg merge 1 --debug searching for copies back to rev 1 unmatched files in other: b resolving manifests overwrite: False, partial: False ancestor: 07f494440405, local: 540395c44225+, remote: 102a90ea7b4a b: remote created -> g updating: b 1/1 files (100.00%) getting b 1 files updated, 0 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) Delete but do not remove b $ rm b $ hg st ! b The commit succeeds $ hg commit -m merge $ hg parents --template "{rev} {desc|firstline} files: {files}\n" 3 merge files: $ hg st ! b b changes were ignored, but even b existence was ignored $ hg manifest a This happens because localrepo.commitctx() checks the input ctx.files(), which is empty for workingctx.files() only returns added, modified or removed entries, and bypass files/manifest updates completely. So the committed revision manifest is the same as its first parent one, not containing the 'b' file. This patch forces the commit to abort in presence of a merge and missing files. test-merge4.t is modified accordingly as it was introduced to check hg was not just terminating with a traceback (5e9e8b8d2629).
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12428
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
     1
Test the GPG extension
8809
6fce36336e42 gpg: add test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
     2
12428
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
     3
  $ "$TESTDIR/hghave" gpg || exit 80
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
     4
  $ cat <<EOF >> $HGRCPATH
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
     5
  > [extensions]
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
     6
  > gpg=
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
     7
  > 
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
     8
  > [gpg]
16350
4f795f5fbb0b tests: make tests work if directory contains special characters
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16349
diff changeset
     9
  > cmd=gpg --no-permission-warning --no-secmem-warning --no-auto-check-trustdb --homedir "$TESTDIR/gpg"
12428
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
    10
  > EOF
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
    11
  $ hg init r
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
    12
  $ cd r
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
    13
  $ echo foo > foo
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
    14
  $ hg ci -Amfoo
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
    15
  adding foo
8809
6fce36336e42 gpg: add test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    16
12428
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
    17
  $ hg sigs
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
    18
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
    19
  $ hg sign 0
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
    20
  Signing 0:e63c23eaa88a
8809
6fce36336e42 gpg: add test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    21
12428
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
    22
  $ hg sigs
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
    23
  hgtest                             0:e63c23eaa88ae77967edcf4ea194d31167c478b0
8809
6fce36336e42 gpg: add test
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    24
12428
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
    25
  $ hg sigcheck 0
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
    26
  e63c23eaa88a is signed by:
3aa7b6445aad tests: unify test-gpg
Matt Mackall <mpm@selenic.com>
parents: 9041
diff changeset
    27
   hgtest
16289
aae219a99a6e test-gpg: make sure gpg does not modify the trustdb.gpg file
Greg Ward <greg@gerg.ca>
parents: 12428
diff changeset
    28
aae219a99a6e test-gpg: make sure gpg does not modify the trustdb.gpg file
Greg Ward <greg@gerg.ca>
parents: 12428
diff changeset
    29
verify that this test has not modified the trustdb.gpg file back in
aae219a99a6e test-gpg: make sure gpg does not modify the trustdb.gpg file
Greg Ward <greg@gerg.ca>
parents: 12428
diff changeset
    30
the main hg working dir
16349
425f1fbcfb94 test-gpg: replace 825565136235 by md5sum check
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16345
diff changeset
    31
  $ "$TESTDIR/md5sum.py" "$TESTDIR/gpg/trustdb.gpg"
425f1fbcfb94 test-gpg: replace 825565136235 by md5sum check
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16345
diff changeset
    32
  f6b9c78c65fa9536e7512bb2ceb338ae  */gpg/trustdb.gpg (glob)