cmdutil: changeset_printer: use methods of filectx/changectx.
This allows extensions that modify changeset metadata (e.g.
description) by overriding methods of changectx to get consistent
behavior from all log-like commands, regardless of whether templates
or styles are used. Without this, overriding changectx methods works
if you use styles or templates, but not with default log format.
This meant adding filectx.extra() for consistency with changectx.
#!/bin/sh
# test that a commit clears the merge state.
hg init repo
cd repo
echo foo > file
hg commit -Am 'add file'
echo bar >> file
hg commit -Am 'append bar'
echo % create a second head
hg up -C 0
echo baz >> file
hg commit -Am 'append baz'
echo % failing merge
HGMERGE=internal:fail hg merge
echo resolved > file
hg resolve -m file
hg commit -m 'resolved'
echo % resolve -l, should be empty
hg resolve -l