[PATCH 01 of 12 py3] store: fix many single-byte ops to use slicing in _auxencode
Augie Fackler
raf at durin42.com
Sun Mar 12 19:49:50 UTC 2017
# HG changeset patch
# User Augie Fackler <augie at google.com>
# Date 1489297844 18000
# Sun Mar 12 00:50:44 2017 -0500
# Node ID 90b52b8ab62de4417fe13b06e52e9ff312bb30f9
# Parent 8a17c541177f32348e248608b6a9dfd7fefdf517
store: fix many single-byte ops to use slicing in _auxencode
diff --git a/mercurial/store.py b/mercurial/store.py
--- a/mercurial/store.py
+++ b/mercurial/store.py
@@ -193,22 +193,22 @@ def _auxencode(path, dotencode):
if not n:
continue
if dotencode and n[0] in '. ':
- n = "~%02x" % ord(n[0]) + n[1:]
+ n = "~%02x" % ord(n[0:1]) + n[1:]
path[i] = n
else:
l = n.find('.')
if l == -1:
l = len(n)
if ((l == 3 and n[:3] in _winres3) or
- (l == 4 and n[3] <= '9' and n[3] >= '1'
+ (l == 4 and n[3:4] <= '9' and n[3:4] >= '1'
and n[:3] in _winres4)):
# encode third letter ('aux' -> 'au~78')
- ec = "~%02x" % ord(n[2])
+ ec = "~%02x" % ord(n[2:3])
n = n[0:2] + ec + n[3:]
path[i] = n
if n[-1] in '. ':
# encode last period or space ('foo...' -> 'foo..~2e')
- path[i] = n[:-1] + "~%02x" % ord(n[-1])
+ path[i] = n[:-1] + "~%02x" % ord(n[-1:])
return path
_maxstorepathlen = 120
More information about the Mercurial-devel
mailing list