Mercurial > hg-stable
view tests/test-template-engine @ 9613:c63c336ee2f7
ui: only use "user@host" as username in noninteractive mode
We regularly see people on IRC ask how they can correct commits they
accidentally made without having configured a username. This change
will make Mercurial abort when a commit is made without a username.
If Mercurial is run without a TTY (from a cronjob or similar), a
username is constructed as usual. Schematically the changes are as
follows:
With ui.askusername=False:
old new
interactive user@host abort
noninteractive user@host user@host
With ui.askusername=True:
old new
interactive prompt prompt
noninteractive user@host user@host
author | Martin Geisler <mg@lazybytes.net> |
---|---|
date | Tue, 20 Oct 2009 00:17:36 +0200 |
parents | d4d4da54ab05 |
children | 1a85861f59af |
line wrap: on
line source
#!/bin/sh cat > engine.py << EOF from mercurial import templater class mytemplater(object): def __init__(self, loader, filters, defaults): self.loader = loader def process(self, t, map): tmpl = self.loader(t) for k, v in map.iteritems(): v = templater.stringify(v) tmpl = tmpl.replace('{{%s}}' % k, v) yield tmpl templater.engines['my'] = mytemplater EOF hg init test echo '[extensions]' > test/.hg/hgrc echo "engine = `pwd`/engine.py" >> test/.hg/hgrc cd test cat > mymap << EOF changeset = my:changeset.txt EOF cat > changeset.txt << EOF {{rev}} {{node}} {{author}} EOF hg ci -Ama hg log --style=./mymap