D2042: py3: add __bytes__() for mq.patchheader and make sure __str__ returns str
pulkit (Pulkit Goyal)
phabricator at mercurial-scm.org
Mon Feb 5 08:23:27 UTC 2018
pulkit created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
Before this patch, __str__() function for mq.patchheader class return bytes
which is not str on Python 3. So let's move that logic to __bytes__() and for
__str__() convert the return value of __bytes__() to str.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D2042
AFFECTED FILES
hgext/mq.py
CHANGE DETAILS
diff --git a/hgext/mq.py b/hgext/mq.py
--- a/hgext/mq.py
+++ b/hgext/mq.py
@@ -396,12 +396,14 @@
self.comments.append('')
self.comments.append(message)
- def __str__(self):
+ def __bytes__(self):
s = '\n'.join(self.comments).rstrip()
if not s:
return ''
return s + '\n\n'
+ __str__ = encoding.strmethod(__bytes__)
+
def _delmsg(self):
'''Remove existing message, keeping the rest of the comments fields.
If comments contains 'subject: ', message will prepend
To: pulkit, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list