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.
% try to commit on top of a patch
abort: cannot commit over an applied mq patch
% qpop/qrefresh on the wrong revision
abort: popping would remove a revision not managed by this patch queue
using patch queue:
abort: popping would remove a revision not managed by this patch queue
abort: working directory revision is not qtip
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
% qpop
abort: popping would remove a revision not managed by this patch queue
% qrefresh
abort: cannot refresh a revision with children
% tip:
3 append quux
% qpush warning branchheads
popping qp
patch queue now empty
adding a
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
marked working directory as branch b
adding c
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
changeset: 2:65309210bf4e
branch: b
tag: tip
parent: 1:707adb4c8ae1
parent: 0:cb9a9f314b8b
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: merge
changeset: 1:707adb4c8ae1
branch: b
parent: -1:000000000000
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: c
changeset: 0:cb9a9f314b8b
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: a
applying qp
now at: qp