# HG changeset patch # User Augie Fackler # Date 1489900139 14400 # Node ID 590319c072598950c80e4ce23242bf2189f05737 # Parent 4d1dd9cf0dca5e01d96ce49bcfbb7aeded084f8f localrepo: ensure transaction id is fully bytes on py3 diff -r 4d1dd9cf0dca -r 590319c07259 mercurial/localrepo.py --- a/mercurial/localrepo.py Sun Mar 19 01:08:17 2017 -0400 +++ b/mercurial/localrepo.py Sun Mar 19 01:08:59 2017 -0400 @@ -49,6 +49,7 @@ peer, phases, pushkey, + pycompat, repoview, revset, revsetlang, @@ -1082,7 +1083,10 @@ hint=_("run 'hg recover' to clean up transaction")) idbase = "%.40f#%f" % (random.random(), time.time()) - txnid = 'TXN:' + hashlib.sha1(idbase).hexdigest() + ha = hashlib.sha1(idbase).hexdigest() + if pycompat.ispy3: + ha = ha.encode('latin1') + txnid = 'TXN:' + ha self.hook('pretxnopen', throw=True, txnname=desc, txnid=txnid) self._writejournal(desc)