D3464: scmutil: clean up bytes/string cache decorator mess on Python 3 again
durin42 (Augie Fackler)
phabricator at mercurial-scm.org
Tue May 8 09:34:15 EDT 2018
This revision was automatically updated to reflect the committed changes.
Closed by commit rHG73a74f29eb87: scmutil: clean up bytes/string cache decorator mess on Python 3 again (authored by durin42, committed by ).
CHANGED PRIOR TO COMMIT
https://phab.mercurial-scm.org/D3464?vs=8491&id=8519#toc
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D3464?vs=8491&id=8519
REVISION DETAIL
https://phab.mercurial-scm.org/D3464
AFFECTED FILES
mercurial/scmutil.py
CHANGE DETAILS
diff --git a/mercurial/scmutil.py b/mercurial/scmutil.py
--- a/mercurial/scmutil.py
+++ b/mercurial/scmutil.py
@@ -1142,17 +1142,18 @@
def __call__(self, func):
self.func = func
- self.name = func.__name__.encode('ascii')
+ self.sname = func.__name__
+ self.name = pycompat.sysbytes(self.sname)
return self
def __get__(self, obj, type=None):
# if accessed on the class, return the descriptor itself.
if obj is None:
return self
# do we need to check if the file changed?
- if self.name in obj.__dict__:
+ if self.sname in obj.__dict__:
assert self.name in obj._filecache, self.name
- return obj.__dict__[self.name]
+ return obj.__dict__[self.sname]
entry = obj._filecache.get(self.name)
@@ -1169,7 +1170,7 @@
obj._filecache[self.name] = entry
- obj.__dict__[self.name] = entry.obj
+ obj.__dict__[self.sname] = entry.obj
return entry.obj
def __set__(self, obj, value):
@@ -1183,13 +1184,13 @@
ce = obj._filecache[self.name]
ce.obj = value # update cached copy
- obj.__dict__[self.name] = value # update copy returned by obj.x
+ obj.__dict__[self.sname] = value # update copy returned by obj.x
def __delete__(self, obj):
try:
- del obj.__dict__[self.name]
+ del obj.__dict__[self.sname]
except KeyError:
- raise AttributeError(self.name)
+ raise AttributeError(self.sname)
def extdatasource(repo, source):
"""Gather a map of rev -> value dict from the specified source
To: durin42, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list