[PATCH 09 of 10 py3] localrepo: turn hook kwargs back into strs before calling hook

Augie Fackler raf at durin42.com
Sun Mar 19 14:26:22 EDT 2017


# HG changeset patch
# User Augie Fackler <augie at google.com>
# Date 1489900202 14400
#      Sun Mar 19 01:10:02 2017 -0400
# Node ID ce928383cf5dfb0993d27340b3fcf936a129e0fb
# Parent  9e6b585465b7ec033160326a4eb049329a2f83a9
localrepo: turn hook kwargs back into strs before calling hook

It might be better to ensure that the hook kwargs dict only has str
keys on Python 3. I'm torn.

diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py
--- a/mercurial/localrepo.py
+++ b/mercurial/localrepo.py
@@ -1101,7 +1101,7 @@ class localrepository(object):
         def validate(tr):
             """will run pre-closing hooks"""
             reporef().hook('pretxnclose', throw=True,
-                           txnname=desc, **tr.hookargs)
+                           txnname=desc, **pycompat.strkwargs(tr.hookargs))
         def releasefn(tr, success):
             repo = reporef()
             if success:
@@ -1142,7 +1142,7 @@ class localrepository(object):
 
             def hook():
                 reporef().hook('txnclose', throw=False, txnname=desc,
-                               **hookargs)
+                               **pycompat.strkwargs(hookargs))
             reporef()._afterlock(hook)
         tr.addfinalize('txnclose-hook', txnclosehook)
         def txnaborthook(tr2):


More information about the Mercurial-devel mailing list