[PATCH evolve-ext] dirstate: use arg count for version check

Ryan McElroy rm at fb.com
Mon Aug 8 17:06:22 UTC 2016


# HG changeset patch
# User Ryan McElroy <rmcelroy at fb.com>
# Date 1470675947 25200
#      Mon Aug 08 10:05:47 2016 -0700
# Node ID adfe8879faff27f4114bcb02950e08b58e4718d8
# Parent  6ff0454f1f230aaa62263515cb49b4e4c86dc50b
dirstate: use arg count for version check

In 52ff07e1de91 in the main hg repo, dirstate was changed to require a second
argument, making the default args check no longer work. Instead, we switch
to check the number of arguments, which should be backwards and forwards
compatible.

diff --git a/hgext/evolve.py b/hgext/evolve.py
--- a/hgext/evolve.py
+++ b/hgext/evolve.py
@@ -1024,7 +1024,7 @@ def bmactive(repo):
 ### dirstate compatibility layer < hg 3.6
 
 def writedirstate(dirstate, tr):
-    if dirstate.write.func_defaults is not None: # mercurial 3.6 and above
+    if dirstate.write.func_code.co_argcount != 1: # mercurial 3.6 and above
         return dirstate.write(tr)
     return dirstate.write()
 


More information about the Mercurial-devel mailing list