Mercurial > public > mercurial-scm > hg
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') |