~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/remote.py

(spiv) Make better use of smart server when a local repository is stacked on
 a remote repository. (Andrew Bennetts)

Show diffs side-by-side

added added

removed removed

Lines of Context:
43
43
from bzrlib.smart import client, vfs, repository as smart_repo
44
44
from bzrlib.smart.client import _SmartClient
45
45
from bzrlib.revision import NULL_REVISION
46
 
from bzrlib.repository import RepositoryWriteLockResult
 
46
from bzrlib.repository import RepositoryWriteLockResult, _LazyListJoin
47
47
from bzrlib.trace import mutter, note, warning
48
48
 
49
49
 
2009
2009
        providers = [self._unstacked_provider]
2010
2010
        if other is not None:
2011
2011
            providers.insert(0, other)
2012
 
        providers.extend(r._make_parents_provider() for r in
2013
 
                         self._fallback_repositories)
2014
 
        return graph.StackedParentsProvider(providers)
 
2012
        return graph.StackedParentsProvider(_LazyListJoin(
 
2013
            providers, self._fallback_repositories))
2015
2014
 
2016
2015
    def _serialise_search_recipe(self, recipe):
2017
2016
        """Serialise a graph search recipe.