diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -128,13 +128,17 @@ def walkchangerevs(ui, repo, pats, opts) if not slowpath: # Only files, no patterns. Check the history of each file. def filerevgen(filelog): + cl_count = repo.changelog.count() for i, window in increasing_windows(filelog.count()-1, -1): revs = [] for j in xrange(i - window, i + 1): revs.append(filelog.linkrev(filelog.node(j))) revs.reverse() for rev in revs: - yield rev + # only yield rev for which we have the changelog, it can + # happen while doing "hg log" during a pull or commit + if rev < cl_count: + yield rev minrev, maxrev = min(revs), max(revs) for file_ in files: @@ -3514,7 +3518,9 @@ def dispatch(args): return inst.code except: u.warn(_("** unknown exception encountered, details follow\n")) - u.warn(_("** report bug details to mercurial@selenic.com\n")) + u.warn(_("** report bug details to " + "http://www.selenic.com/mercurial/bts\n")) + u.warn(_("** or mercurial@selenic.com\n")) u.warn(_("** Mercurial Distributed SCM (version %s)\n") % version.get_version()) raise