Mercurial > hg
changeset 42031:d31d8c5279c6
debugdiscovery: small internal refactoring
The part of the code displaying statistic is made independant from the one
running the discovery. In the same do, the declaration of the discovery
function is a bit simplified.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Tue, 26 Mar 2019 14:04:33 +0100 |
parents | 6ae1a776dd1a |
children | 63165e4a76da |
files | mercurial/debugcommands.py |
diffstat | 1 files changed, 19 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/debugcommands.py Tue Mar 26 14:02:40 2019 +0100 +++ b/mercurial/debugcommands.py Tue Mar 26 14:04:33 2019 +0100 @@ -785,8 +785,10 @@ # make sure tests are repeatable random.seed(int(opts['seed'])) - def doit(pushedrevs, remoteheads, remote=remote): - if opts.get('old'): + + + if opts.get('old'): + def doit(pushedrevs, remoteheads, remote=remote): if not util.safehasattr(remote, 'branches'): # enable in-client legacy support remote = localrepo.locallegacypeer(remote.local()) @@ -800,26 +802,30 @@ clnode = repo.changelog.node common = repo.revs('heads(::%ln)', common) common = {clnode(r) for r in common} - else: + return common, hds + else: + def doit(pushedrevs, remoteheads, remote=remote): nodes = None if pushedrevs: revs = scmutil.revrange(repo, pushedrevs) nodes = [repo[r].node() for r in revs] common, any, hds = setdiscovery.findcommonheads(ui, repo, remote, ancestorsof=nodes) - common = set(common) - rheads = set(hds) - lheads = set(repo.heads()) - ui.write(("common heads: %s\n") % - " ".join(sorted(short(n) for n in common))) - if lheads <= common: - ui.write(("local is subset\n")) - elif rheads <= common: - ui.write(("remote is subset\n")) + return common, hds remoterevs, _checkout = hg.addbranchrevs(repo, remote, branches, revs=None) localrevs = opts['rev'] - doit(localrevs, remoterevs) + common, hds = doit(localrevs, remoterevs) + + common = set(common) + rheads = set(hds) + lheads = set(repo.heads()) + ui.write(("common heads: %s\n") % + " ".join(sorted(short(n) for n in common))) + if lheads <= common: + ui.write(("local is subset\n")) + elif rheads <= common: + ui.write(("remote is subset\n")) _chunksize = 4 << 10