# HG changeset patch # User Yuya Nishihara # Date 2015-04-12 12:52:02 # Node ID 60c791592aa7766e60ccde89feed24fe259e7356 # Parent f4412380d3575a97ec95473db5db902e1ae2a8f6 changeset_printer: change flush() to accept ctx instead of rev Because flush() is the function to write data buffered by show(ctx), flush(ctx) is more consistent than flush(rev). This makes sure that buffered header and hunk are always keyed by ctx.rev(). This patch will allow us to give an integer to the wdir while keeping wctx.rev() -> None. diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py --- a/mercurial/cmdutil.py +++ b/mercurial/cmdutil.py @@ -1119,7 +1119,8 @@ class changeset_printer(object): self.lastheader = None self.footer = None - def flush(self, rev): + def flush(self, ctx): + rev = ctx.rev() if rev in self.header: h = self.header[rev] if h != self.lastheader: @@ -2156,7 +2157,7 @@ def displaygraph(ui, dag, displayer, sho lines = displayer.hunk.pop(rev).split('\n') if not lines[-1]: del lines[-1] - displayer.flush(rev) + displayer.flush(ctx) edges = edgefn(type, char, lines, seen, rev, parents) for type, char, lines, coldata in edges: graphmod.ascii(ui, state, type, char, lines, coldata) diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -4627,7 +4627,7 @@ def log(ui, repo, *pats, **opts): else: revmatchfn = None displayer.show(ctx, copies=copies, matchfn=revmatchfn) - if displayer.flush(rev): + if displayer.flush(ctx): count += 1 displayer.close()