log: follow filenames through renames (issue647)
In commands.log a displayer was initialized from
cmdutil.show_changeset() with the initial matchfn (which designates
the specified files which only is correct in the highest revision in
the range). prep() is handed the correct list of files, but
displayer.show() didn't use that list but keept using the original
matchfn.
The matchfn argument to cmdutil.show_changeset() wasn't specified in
other places and is only used in .show(), so now we give the matchfn
as an optional parameter to .show().
We do however still have to detect --patch and --stat from opts in
show_changeset() and let it imply a matchall, but that can now be
overruled with the new .show() matchfn parameter.
% basic
% unknown
alias 'unknown' resolves to unknown command 'bargle'
alias 'unknown' resolves to unknown command 'bargle'
% ambiguous
alias 'ambiguous' resolves to ambiguous command 's'
alias 'ambiguous' resolves to ambiguous command 's'
% recursive
alias 'recursive' resolves to unknown command 'recursive'
alias 'recursive' resolves to unknown command 'recursive'
% no definition
no definition for alias 'nodefinition'
no definition for alias 'nodefinition'
% no usage
no rollback information available
adding foo
% with opts
C foo
% with opts and whitespace
0 e63c23eaa88a | 1970-01-01 00:00 +0000
% interaction with defaults
0:e63c23eaa88a
-1:000000000000
% properly recursive
changeset: -1:0000000000000000000000000000000000000000
parent: -1:0000000000000000000000000000000000000000
parent: -1:0000000000000000000000000000000000000000
manifest: -1:0000000000000000000000000000000000000000
user:
date: Thu Jan 01 00:00:00 1970 +0000
extra: branch=default
% path expanding
# HG changeset patch
# User test
# Date 0 0
# Node ID e63c23eaa88ae77967edcf4ea194d31167c478b0
# Parent 0000000000000000000000000000000000000000
foo
diff -r 000000000000 -r e63c23eaa88a foo
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/foo Thu Jan 01 00:00:00 1970 +0000
@@ -0,0 +1,1 @@
+foo