# HG changeset patch # User Pulkit Goyal # Date 1551483765 -19800 # Node ID bce2356ece685660fb08eb55032529da5d281c50 # Parent faa04f45b5fe4e815c319c4d1c2ff4047c5a3c67 py3: port things from chgserver.py I have installed mercurial on my personal laptop using Python 3.7. I also have hg aliased to chg. Before this commit, `hg version` didn't work. After this patch, things are better and now chg works. Differential Revision: https://phab.mercurial-scm.org/D6040 diff -r faa04f45b5fe -r bce2356ece68 mercurial/chgserver.py --- a/mercurial/chgserver.py Sat Mar 02 05:01:00 2019 +0530 +++ b/mercurial/chgserver.py Sat Mar 02 05:12:45 2019 +0530 @@ -64,11 +64,12 @@ from .utils import ( procutil, + stringutil, ) def _hashlist(items): """return sha1 hexdigest for a list""" - return node.hex(hashlib.sha1(str(items)).digest()) + return node.hex(hashlib.sha1(stringutil.pprint(items)).digest()) # sensitive config sections affecting confighash _configsections = [ @@ -83,7 +84,7 @@ ] # sensitive environment variables affecting confighash -_envre = re.compile(r'''\A(?: +_envre = re.compile(br'''\A(?: CHGHG |HG(?:DEMANDIMPORT|EMITWARNINGS|MODULEPOLICY|PROF|RCPATH)? |HG(?:ENCODING|PLAIN).* @@ -449,7 +450,7 @@ if newhash.confighash != self.hashstate.confighash: addr = _hashaddress(self.baseaddress, newhash.confighash) insts.append('redirect %s' % addr) - self.ui.log('chgserver', 'validate: %s\n', insts) + self.ui.log('chgserver', 'validate: %s\n', stringutil.pprint(insts)) self.cresult.write('\0'.join(insts) or '\0') def chdir(self):