# HG changeset patch # User Boris Feld # Date 2017-09-30 09:09:29 # Node ID cd3f39716fd3ed7bbfe623c87787ed898f577cbc # Parent ff406f3e57b2655bf53ac4eb5b5cf05abe0d51b6 exchange: fix test for remote support of binary phases If the remote do not support phases, the "get" call will return None. We change that default return to empty tuple to fix the membership testing. This was a bug in the initial series. Thanks to yuja for catching this. diff --git a/mercurial/exchange.py b/mercurial/exchange.py --- a/mercurial/exchange.py +++ b/mercurial/exchange.py @@ -1353,7 +1353,8 @@ def _pullbundle2(pullop): ui = pullop.repo.ui legacyphase = 'phases' in ui.configlist('devel', 'legacy.exchange') - if (not legacyphase and 'heads' in pullop.remotebundle2caps.get('phases')): + hasbinaryphase = 'heads' in pullop.remotebundle2caps.get('phases', ()) + if (not legacyphase and hasbinaryphase): kwargs['phases'] = True pullop.stepsdone.add('phases')