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
"$TESTDIR/hghave" no-outer-repo || exit 80
echo % no repo
hg id
echo % create repo
hg init test
cd test
echo a > a
hg ci -Ama
echo % basic id usage
hg id
hg id --debug
hg id -q
hg id -v
echo % with options
hg id -r.
hg id -n
hg id -t
hg id -b
hg id -i
hg id -n -t -b -i
echo % with modifications
echo b > a
hg id -n -t -b -i
echo % other local repo
cd ..
hg -R test id
hg id test
echo % with remote http repo
cd test
hg serve -p $HGPORT1 -d --pid-file=hg.pid
cat hg.pid >> $DAEMON_PIDS
hg id http://localhost:$HGPORT1/
echo % remote with tags?
hg id -t http://localhost:$HGPORT1/
true # ends with util.Abort -> returns 255