--- 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'