# HG changeset patch # User Gregory Szorc # Date 2018-09-12 02:16:32 # Node ID a8d2faeca49ef6e0485ec52fdd8e657b6137a861 # Parent 2d2bbf3f3e090352814390aba28160e5ff358460 bundlerepo: factor out code for instantiating a bundle repository This code will soon become a bit more complicated. So extract to its own function. And change both instantiators of bundlerepository to use it. Differential Revision: https://phab.mercurial-scm.org/D4554 diff --git a/mercurial/bundlerepo.py b/mercurial/bundlerepo.py --- a/mercurial/bundlerepo.py +++ b/mercurial/bundlerepo.py @@ -479,7 +479,12 @@ def instance(ui, path, create, intents=N repopath, bundlename = s else: repopath, bundlename = parentpath, path - return bundlerepository(ui, repopath, bundlename) + + return makebundlerepository(ui, repopath, bundlename) + +def makebundlerepository(ui, repopath, bundlepath): + """Make a bundle repository object based on repo and bundle paths.""" + return bundlerepository(ui, repopath, bundlepath) class bundletransactionmanager(object): def transaction(self): @@ -588,8 +593,10 @@ def getremotechanges(ui, repo, peer, onl bundle = None if not localrepo: # use the created uncompressed bundlerepo - localrepo = bundlerepo = bundlerepository(repo.baseui, repo.root, - fname) + localrepo = bundlerepo = makebundlerepository(repo. baseui, + repo.root, + fname) + # this repo contains local and peer now, so filter out local again common = repo.heads() if localrepo: