tests: remove unused import of mercurial.repoview from test-propertycache
I don't see any reason to import it, but if there is a reason, please disregard
this and the next patch.
templater: drop deprecated handling of KeyError from changeset_templater
It's been superseded by
09cde75e0613 and the previous patch. templater.mapfile
is no longer used and removed.
pycompat: add util.stringio to handle py3 divergence
util.stringio = cStringIO.StringIO / io.StringIO
pycompat: fix demand import handling of Queue
When demandimport is enabled, simply importing a non existent module does
not trigger ImportError, a property access is necessary.
templater: give better error message for invalid engine type
Before, KeyError was caught at changeset_templater._show(), which said "no
key named '%s'" as it was intended to catch the KeyError of unknown map key.
Instead, we should catch KeyError explicitly for better error indication.
For those who don't know what the template engine is (read "everyone"), it is
hidden extension feature that allows switching template syntax in map file.
See
d8c5a7f25a40 for details.