# HG changeset patch # User Martin von Zweigbergk # Date 1572557151 25200 # Node ID d8215ff082da1eda8d57912ab7a045a010028b9b # Parent 3c2799cbace4f66c19cab6bf548ff8ff9efd54f9 py3: make chistedit render Now you can see the list of commits, but it crashes when you press a key. Differential Revision: https://phab.mercurial-scm.org/D7181 diff -r 3c2799cbace4 -r d8215ff082da hgext/histedit.py --- a/hgext/histedit.py Fri Nov 01 17:23:02 2019 +0100 +++ b/hgext/histedit.py Thu Oct 31 14:25:51 2019 -0700 @@ -217,6 +217,7 @@ copies, destutil, discovery, + encoding, error, exchange, extensions, @@ -1117,7 +1118,7 @@ self.pos = pos self.conflicts = [] - def __str__(self): + def __bytes__(self): # Some actions ('fold' and 'roll') combine a patch with a previous one. # Add a marker showing which patch they apply to, and also omit the # description for 'roll' (since it will get discarded). Example display: @@ -1135,10 +1136,16 @@ desc = self.ctx.description().splitlines()[0].strip() if self.action == b'roll': desc = b'' - return b"#{0:<2} {1:<6} {2}:{3} {4}".format( - self.origpos, action, r, h, desc + return b"#%s %s %d:%s %s" % ( + (b'%d' % self.origpos).ljust(2), + action.ljust(6), + r, + h, + desc, ) + __str__ = encoding.strmethod(__bytes__) + def checkconflicts(self, other): if other.pos > self.pos and other.origpos <= self.origpos: if set(other.ctx.files()) & set(self.ctx.files()) != set(): @@ -1324,7 +1331,7 @@ whitespace characters, so that the color appears on the whole line""" maxy, maxx = win.getmaxyx() length = maxx - 1 - x - line = (b"{0:<%d}" % length).format(str(line).strip())[:length] + line = bytes(line).ljust(length)[:length] if y < 0: y = maxy + y if x < 0: @@ -1395,17 +1402,17 @@ maxy, maxx = win.getmaxyx() length = maxx - 3 - line = b"changeset: {0}:{1:<12}".format(ctx.rev(), ctx) + line = b"changeset: %d:%s" % (ctx.rev(), ctx.hex()) win.addstr(1, 1, line[:length]) - line = b"user: {0}".format(ctx.user()) + line = b"user: %s" % ctx.user() win.addstr(2, 1, line[:length]) bms = repo.nodebookmarks(ctx.node()) - line = b"bookmark: {0}".format(b' '.join(bms)) + line = b"bookmark: %s" % b' '.join(bms) win.addstr(3, 1, line[:length]) - line = b"summary: {0}".format(ctx.description().splitlines()[0]) + line = b"summary: %s" % (ctx.description().splitlines()[0]) win.addstr(4, 1, line[:length]) line = b"files: " @@ -1426,7 +1433,7 @@ conflicts = rule.conflicts if len(conflicts) > 0: conflictstr = b','.join(map(lambda r: str(r.ctx), conflicts)) - conflictstr = b"changed files overlap with {0}".format(conflictstr) + conflictstr = b"changed files overlap with %s" % conflictstr else: conflictstr = b'no overlap'