diff -r 0421772a9c30 -r e67c526c0a25 hgext3rd/topic/__init__.py --- a/hgext3rd/topic/__init__.py Mon Apr 25 20:00:19 2016 -0700 +++ b/hgext3rd/topic/__init__.py Mon Apr 25 21:24:20 2016 -0700 @@ -290,7 +290,8 @@ return ret def mergeupdatewrap(orig, repo, node, branchmerge, force, *args, **kwargs): - partial = bool(len(args)) or 'matcher' in kwargs + matcher = kwargs.get('matcher') + partial = not (matcher is None or matcher.always()) wlock = repo.wlock() try: ret = orig(repo, node, branchmerge, force, *args, **kwargs)