diff --git a/hgext3rd/topic/discovery.py b/hgext3rd/topic/discovery.py index cd313b2e57fbad8b39bc748bfd82b9ab90bcee6d_aGdleHQzcmQvdG9waWMvZGlzY292ZXJ5LnB5..885a972d506963ad46af05819e7d84d0223e694b_aGdleHQzcmQvdG9waWMvZGlzY292ZXJ5LnB5 100644 --- a/hgext3rd/topic/discovery.py +++ b/hgext3rd/topic/discovery.py @@ -217,8 +217,14 @@ # # Handle this by doing an extra check for new head creation server side def _nbheads(repo): + code = scmutil.filteredhash.__code__ + if r'needobsolete' not in code.co_varnames[:code.co_argcount]: + # hg <= 6.0 (053a5bf508da) + filterfn = _filter_obsolete_heads + else: + filterfn = lambda repo, heads: heads data = {} for b in repo.branchmap().iterbranches(): if b':' in b[0]: continue oldheads = [repo[n].rev() for n in b[1]] @@ -220,9 +226,9 @@ data = {} for b in repo.branchmap().iterbranches(): if b':' in b[0]: continue oldheads = [repo[n].rev() for n in b[1]] - newheads = _filter_obsolete_heads(repo, oldheads) + newheads = filterfn(repo, oldheads) data[b[0]] = newheads return data