comparison mercurial/commands.py @ 12382:28ddf67198b2 stable

log: include unmodified-in-merge files in log diff/stat (issue2383) f786fc4b8764 assumed that walkchangerevs called prep with all relevant matched filenames, but actually it only contains the names of files changed in the relevant changeset. That meant that log diff/stat of merges missed the diff for files only changed in the other branch. This is a minimal fix for making sure we only use fns when we are following and thus will have problems with merges anyway ...
author Mads Kiilerich <mads@kiilerich.com>
date Thu, 23 Sep 2010 01:23:16 +0200
parents 07ac2a560fce
children f1e8d6f6e682 9a93f4fb141b
comparison
equal deleted inserted replaced
12381:5965f369314b 12382:28ddf67198b2
2531 if rename: 2531 if rename:
2532 copies.append((fn, rename[0])) 2532 copies.append((fn, rename[0]))
2533 2533
2534 revmatchfn = None 2534 revmatchfn = None
2535 if opts.get('patch') or opts.get('stat'): 2535 if opts.get('patch') or opts.get('stat'):
2536 revmatchfn = cmdutil.match(repo, fns, default='path') 2536 if opts.get('follow') or opts.get('follow_first'):
2537 # note: this might be wrong when following through merges
2538 revmatchfn = cmdutil.match(repo, fns, default='path')
2539 else:
2540 revmatchfn = matchfn
2537 2541
2538 displayer.show(ctx, copies=copies, matchfn=revmatchfn) 2542 displayer.show(ctx, copies=copies, matchfn=revmatchfn)
2539 2543
2540 for ctx in cmdutil.walkchangerevs(repo, matchfn, opts, prep): 2544 for ctx in cmdutil.walkchangerevs(repo, matchfn, opts, prep):
2541 if count == limit: 2545 if count == limit: