# HG changeset patch # User Gregory Szorc # Date 1537201528 25200 # Node ID c4b891fe44c3a4b487b2b2c92b8aada57c4c79aa # Parent 870c31f85c902fa07a257244dab5f23d8ebaa00f obsdiscovery: adopt to calling convention change Upstream commits 71d83b315778 and abce899c985f changed the calling convention of setdiscovery._takefullsample(). We inspect the signature of the function before calling it so we can pass the proper arguments. diff -r 870c31f85c90 -r c4b891fe44c3 hgext3rd/evolve/obsdiscovery.py --- a/hgext3rd/evolve/obsdiscovery.py Fri Sep 14 12:18:22 2018 +0200 +++ b/hgext3rd/evolve/obsdiscovery.py Mon Sep 17 09:25:28 2018 -0700 @@ -24,6 +24,7 @@ import hashlib import heapq +import inspect import sqlite3 import struct import weakref @@ -110,7 +111,13 @@ if len(undecided) < fullsamplesize: sample = set(undecided) else: - sample = _takefullsample(dag, undecided, size=fullsamplesize) + # Mercurial 4.8 changed calling convention. + if len(inspect.getargspec(_takefullsample)[0]) == 4: + sample = _takefullsample(local, None, undecided, + size=fullsamplesize) + else: + # hg <= 4.7 version + sample = _takefullsample(dag, undecided, size=fullsamplesize) roundtrips += 1 ui.progress(_("comparing with other"), totalnb - len(undecided),