comparison mercurial/wireprotov1server.py @ 44782:3d5fb6cab832 stable

pullbundles: use unfiltered repo for head/base matching The unfiltered view works even when changeset transistion from draft to hidden phase. The normal visibility is already ensured by discovery as invisible heads would have been filtered out before. Skipping the filtering has a positive impact on performance, too. Differential Revision: https://phab.mercurial-scm.org/D8481
author Joerg Sonnenberger <joerg@bec.de>
date Fri, 24 Apr 2020 20:00:25 +0200
parents 1d1232c0726f
children c93dd9d9f1e6
comparison
equal deleted inserted replaced
44781:ed684a82e29b 44782:3d5fb6cab832
389 return None 389 return None
390 res = exchange.parseclonebundlesmanifest(repo, manifest) 390 res = exchange.parseclonebundlesmanifest(repo, manifest)
391 res = exchange.filterclonebundleentries(repo, res) 391 res = exchange.filterclonebundleentries(repo, res)
392 if not res: 392 if not res:
393 return None 393 return None
394 cl = repo.changelog 394 cl = repo.unfiltered().changelog
395 heads_anc = cl.ancestors([cl.rev(rev) for rev in heads], inclusive=True) 395 heads_anc = cl.ancestors([cl.rev(rev) for rev in heads], inclusive=True)
396 common_anc = cl.ancestors([cl.rev(rev) for rev in common], inclusive=True) 396 common_anc = cl.ancestors([cl.rev(rev) for rev in common], inclusive=True)
397 compformats = clientcompressionsupport(proto) 397 compformats = clientcompressionsupport(proto)
398 for entry in res: 398 for entry in res:
399 comp = entry.get(b'COMPRESSION') 399 comp = entry.get(b'COMPRESSION')