diff --git a/hgext/churn.py b/hgext/churn.py --- a/hgext/churn.py +++ b/hgext/churn.py @@ -81,7 +81,7 @@ def countrate(ui, repo, amap, *pats, **o ui.write("\r" + _("generating stats: %d%%") % pct) sys.stdout.flush() - for ctx in cmdutil.walkchangerevs(ui, repo, m, opts, prep): + for ctx in cmdutil.walkchangerevs(repo, m, opts, prep): continue if opts.get('progress'): diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py --- a/mercurial/cmdutil.py +++ b/mercurial/cmdutil.py @@ -1031,7 +1031,7 @@ def finddate(ui, repo, date): if df(d[0]): results[rev] = d - for ctx in walkchangerevs(ui, repo, m, {'rev':None}, prep): + for ctx in walkchangerevs(repo, m, {'rev':None}, prep): rev = ctx.rev() if rev in results: ui.status(_("Found revision %s from %s\n") % @@ -1040,7 +1040,7 @@ def finddate(ui, repo, date): raise util.Abort(_("revision matching date not found")) -def walkchangerevs(ui, repo, match, opts, prepare): +def walkchangerevs(repo, match, opts, prepare): '''Iterate over files and the revs in which they changed. Callers most commonly need to iterate backwards over the history @@ -1088,6 +1088,7 @@ def walkchangerevs(ui, repo, match, opts # No files, no patterns. Display all revs. wanted = set(revs) copies = [] + if not slowpath: # Only files, no patterns. Check the history of each file. def filerevgen(filelog, node): @@ -1124,8 +1125,6 @@ def walkchangerevs(ui, repo, match, opts slowpath = True break else: - ui.warn(_('%s:%s copy source revision cannot be found!\n') - % (file_, short(node))) continue for rev, copied in filerevgen(filelog, node): if rev <= maxrev: diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -1338,7 +1338,7 @@ def grep(ui, repo, pattern, *pats, **opt except error.LookupError: pass - for ctx in cmdutil.walkchangerevs(ui, repo, matchfn, opts, prep): + for ctx in cmdutil.walkchangerevs(repo, matchfn, opts, prep): rev = ctx.rev() parent = ctx.parents()[0].rev() for fn in sorted(revfiles.get(rev, [])): @@ -2068,7 +2068,7 @@ def log(ui, repo, *pats, **opts): displayer.show(ctx, copies=copies) - for ctx in cmdutil.walkchangerevs(ui, repo, matchfn, opts, prep): + for ctx in cmdutil.walkchangerevs(repo, matchfn, opts, prep): if count != limit: if displayer.flush(ctx.rev()): count += 1