diff -r c24dad55ac19 -r 133a678673cb mercurial/wireproto.py --- a/mercurial/wireproto.py Wed Jan 17 16:36:23 2018 +0100 +++ b/mercurial/wireproto.py Wed Jan 17 16:38:32 2018 +0100 @@ -866,10 +866,11 @@ if repo.ui.configbool('server', 'disablefullbundle'): # Check to see if this is a full clone. clheads = set(repo.changelog.heads()) + changegroup = opts.get('cg', True) heads = set(opts.get('heads', set())) common = set(opts.get('common', set())) common.discard(nullid) - if not common and clheads == heads: + if changegroup and not common and clheads == heads: raise error.Abort( _('server has pull-based clones disabled'), hint=_('remove --pull if specified or upgrade Mercurial'))