# HG changeset patch # User Yuya Nishihara # Date 1599634803 -32400 # Node ID 41e0cbccb260b295dae6540fa6c48be70901184a # Parent 494642ed3c50487a75078c2062d564d61eb530de grep: move getbody() to grepsearcher class diff -r 494642ed3c50 -r 41e0cbccb260 mercurial/commands.py --- a/mercurial/commands.py Wed Sep 09 15:56:40 2020 +0900 +++ b/mercurial/commands.py Wed Sep 09 16:00:03 2020 +0900 @@ -3404,16 +3404,6 @@ matches = searcher._matches copies = searcher._copies - def grepbody(fn, rev, body): - matches[rev].setdefault(fn, []) - m = matches[rev][fn] - if body is None: - return - - for lnum, cstart, cend, line in grepmod.matchlines(body, regexp): - s = grepmod.linestate(line, lnum, cstart, cend) - m.append(s) - uipathfn = scmutil.getuipathfn(repo) def display(fm, fn, ctx, pstates, states): @@ -3591,12 +3581,12 @@ files.append(fn) if fn not in matches[rev]: - grepbody(fn, rev, readfile(ctx, fn)) + searcher._grepbody(fn, rev, readfile(ctx, fn)) if diff: pfn = copy or fn if pfn not in matches[parent] and pfn in pctx: - grepbody(pfn, parent, readfile(pctx, pfn)) + searcher._grepbody(pfn, parent, readfile(pctx, pfn)) wopts = logcmdutil.walkopts( pats=pats, diff -r 494642ed3c50 -r 41e0cbccb260 mercurial/grep.py --- a/mercurial/grep.py Wed Sep 09 15:56:40 2020 +0900 +++ b/mercurial/grep.py Wed Sep 09 16:00:03 2020 +0900 @@ -90,3 +90,13 @@ self._copies = {} self._skip = set() self._revfiles = {} + + def _grepbody(self, fn, rev, body): + self._matches[rev].setdefault(fn, []) + m = self._matches[rev][fn] + if body is None: + return + + for lnum, cstart, cend, line in matchlines(body, self._regexp): + s = linestate(line, lnum, cstart, cend) + m.append(s)