Patchwork D7181: py3: make chistedit render

login
register
mail settings
Submitter phabricator
Date Nov. 1, 2019, 4:17 a.m.
Message ID <4f773069575ce2bf265de03fc89be501@localhost.localdomain>
Download mbox | patch
Permalink /patch/42631/
State Not Applicable
Headers show

Comments

phabricator - Nov. 1, 2019, 4:17 a.m.
martinvonz updated this revision to Diff 17428.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D7181?vs=17420&id=17428

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D7181/new/

REVISION DETAIL
  https://phab.mercurial-scm.org/D7181

AFFECTED FILES
  hgext/histedit.py

CHANGE DETAILS




To: martinvonz, durin42, #hg-reviewers
Cc: indygreg, mercurial-devel
Yuya Nishihara - Nov. 1, 2019, 1:33 p.m.
> +        return b"#%s %s %d:%s   %s" % ((b'%d' % self.origpos).ljust(2),
> +                                       action.ljust(6), r, h, desc)
> +
> +    __bytes__ = __str__

`__str__ = encoding.strmethod(__bytes__)` can be used instead. `__str__`
of Python3 must return unicode string.
phabricator - Nov. 1, 2019, 1:35 p.m.
yuja added a comment.


  > +        return b"#%s %s %d:%s   %s" % ((b'%d' % self.origpos).ljust(2),
  > +                                       action.ljust(6), r, h, desc)
  > +
  > +    __bytes__ = __str__
  
  `__str__ = encoding.strmethod(__bytes__)` can be used instead. `__str__`
  of Python3 must return unicode string.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D7181/new/

REVISION DETAIL
  https://phab.mercurial-scm.org/D7181

To: martinvonz, durin42, #hg-reviewers
Cc: yuja, indygreg, mercurial-devel
via Mercurial-devel - Nov. 1, 2019, 2:33 p.m.
Feel free to do that in flight. Otherwise I'll do it later today.

It won't matter in practice. We should of course have a separate method
explicitly for creating a line instead. But that's not for stable.

On Fri, Nov 1, 2019, 06:42 yuja (Yuya Nishihara) <
phabricator@mercurial-scm.org> wrote:

> yuja added a comment.
>
>
>   > +        return b"#%s %s %d:%s   %s" % ((b'%d' %
> self.origpos).ljust(2),
>   > +                                       action.ljust(6), r, h, desc)
>   > +
>   > +    __bytes__ = __str__
>
>   `__str__ = encoding.strmethod(__bytes__)` can be used instead. `__str__`
>   of Python3 must return unicode string.
>
> REPOSITORY
>   rHG Mercurial
>
> CHANGES SINCE LAST ACTION
>   https://phab.mercurial-scm.org/D7181/new/
>
> REVISION DETAIL
>   https://phab.mercurial-scm.org/D7181
>
> To: martinvonz, durin42, #hg-reviewers
> Cc: yuja, indygreg, mercurial-devel
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel@mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
>

Patch

diff --git a/hgext/histedit.py b/hgext/histedit.py
--- a/hgext/histedit.py
+++ b/hgext/histedit.py
@@ -1135,9 +1135,10 @@ 
         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)
+
+    __bytes__ = __str__
 
     def checkconflicts(self, other):
         if other.pos > self.pos and other.origpos <= self.origpos:
@@ -1324,7 +1325,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 +1396,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 +1427,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'