diff -r e65ff29dbeb0 -r cb48dfd9672d mercurial/commands.py --- a/mercurial/commands.py Mon Jun 12 16:35:57 2017 -0700 +++ b/mercurial/commands.py Wed Jun 14 01:43:47 2017 -0400 @@ -9,7 +9,6 @@ import difflib import errno -import itertools import os import re import sys @@ -781,9 +780,11 @@ '--skip': skip, } - for left, right in itertools.combinations(sorted(incompatibles), 2): - if incompatibles[left] and incompatibles[right]: - raise error.Abort(_('%s and %s are incompatible') % (left, right)) + enabled = [x for x in incompatibles if incompatibles[x]] + + if len(enabled) > 1: + raise error.Abort(_('%s and %s are incompatible') % + tuple(sorted(enabled)[0:2])) if reset: hbisect.resetstate(repo)