py3: use bytes.startswith() instead of comparing with bytes[0]
authorPulkit Goyal <pulkit@yandex-team.ru>
Thu, 07 Feb 2019 16:44:43 +0300
changeset 41623 7c4e205f71ca
parent 41622 635a12c53ea6
child 41624 3751595ec45e
py3: use bytes.startswith() instead of comparing with bytes[0] This is because bytes[0] will return the ascii value and comparison will fail. This makes test-commit-interactive-curses.t pass on Python 3. Differential Revision: https://phab.mercurial-scm.org/D5879
contrib/python3-whitelist
mercurial/crecord.py
--- a/contrib/python3-whitelist	Fri Feb 08 22:57:26 2019 -0800
+++ b/contrib/python3-whitelist	Thu Feb 07 16:44:43 2019 +0300
@@ -89,6 +89,7 @@
 test-close-head.t
 test-commandserver.t
 test-commit-amend.t
+test-commit-interactive-curses.t
 test-commit-interactive.t
 test-commit-multiple.t
 test-commit-unresolved.t
--- a/mercurial/crecord.py	Fri Feb 08 22:57:26 2019 -0800
+++ b/mercurial/crecord.py	Thu Feb 07 16:44:43 2019 +0300
@@ -377,9 +377,9 @@
     def countchanges(self):
         """changedlines -> (n+,n-)"""
         add = len([l for l in self.changedlines if l.applied
-                   and l.prettystr()[0] == '+'])
+                    and l.prettystr().startswith('+')])
         rem = len([l for l in self.changedlines if l.applied
-                   and l.prettystr()[0] == '-'])
+                    and l.prettystr().startswith('-')])
         return add, rem
 
     def getfromtoline(self):
@@ -423,7 +423,7 @@
             changedlinestr = changedline.prettystr()
             if changedline.applied:
                 hunklinelist.append(changedlinestr)
-            elif changedlinestr[0] == "-":
+            elif changedlinestr.startswith("-"):
                 hunklinelist.append(" " + changedlinestr[1:])
 
         fp.write(''.join(self.before + hunklinelist + self.after))
@@ -471,11 +471,11 @@
         for line in self.changedlines:
             text = line.linetext
             if line.applied:
-                if text[0] == '+':
+                if text.startswith('+'):
                     dels.append(text[1:])
-                elif text[0] == '-':
+                elif text.startswith('-'):
                     adds.append(text[1:])
-            elif text[0] == '+':
+            elif text.startswith('+'):
                 dels.append(text[1:])
                 adds.append(text[1:])
         hunk = ['-%s' % l for l in dels] + ['+%s' % l for l in adds]