templatekw: introduce showlatesttags() to handle {latesttag} keywords
The keywords {changes}, {distance} and {tag} will be available on a future
template method that will allow pattern matching against tag names. For
consistency, these should be available on the existing {latesttag} keyword as
well.
I debated whether or not to add {tag} instead of just continuing with the
existing {latesttag}. But it seems clearer not to have the same name for two
distinct things (a list in the LHS of %, and an individual tag value on the
right).
The value of latesttags[0] is the date of commit for the cset to which the tag
is applied (i.e. not the date the tag was applied), and therefore isn't made
visible because it doesn't seem interesting. It appears that this is merely an
internal implementation detail for sorting csets in a stable manner when there
are different branches.
#require gpg
Test the GPG extension
$ cat <<EOF >> $HGRCPATH
> [extensions]
> gpg=
>
> [gpg]
> cmd=gpg --no-permission-warning --no-secmem-warning --no-auto-check-trustdb --homedir "$TESTDIR/gpg"
> EOF
$ hg init r
$ cd r
$ echo foo > foo
$ hg ci -Amfoo
adding foo
$ hg sigs
$ HGEDITOR=cat hg sign -e 0
signing 0:e63c23eaa88a
Added signature for changeset e63c23eaa88a
HG: Enter commit message. Lines beginning with 'HG:' are removed.
HG: Leave message empty to abort commit.
HG: --
HG: user: test
HG: branch 'default'
HG: added .hgsigs
$ hg sigs
hgtest 0:e63c23eaa88ae77967edcf4ea194d31167c478b0
$ hg sigcheck 0
e63c23eaa88a is signed by:
hgtest
verify that this test has not modified the trustdb.gpg file back in
the main hg working dir
$ md5sum.py "$TESTDIR/gpg/trustdb.gpg"
f6b9c78c65fa9536e7512bb2ceb338ae */gpg/trustdb.gpg (glob)
don't leak any state to next test run
$ rm -f "$TESTDIR/gpg/random_seed"
$ cd ..