Mercurial > public > mercurial-scm > hg-stable
diff mercurial/subrepo.py @ 17191:5884812686f7
peer: introduce peer methods to prepare for peer classes
This introduces a peer method into all repository classes, which currently
simply returns self. It also changes hg.repository so it now raises an
exception if the supplied paths does not resolve to a localrepo or descendant.
Finally, all call sites are changed to use the peer and local methods as
appropriate, where peer is used whenever the code is dealing with a remote
repository (even if it's on local disk).
author | Sune Foldager <cryo@cyanite.org> |
---|---|
date | Fri, 13 Jul 2012 21:46:53 +0200 |
parents | f7152a0d90df |
children | e7cfe3587ea4 cb12d3ce5607 |
line wrap: on
line diff
--- a/mercurial/subrepo.py Fri Jul 06 14:12:42 2012 -0500 +++ b/mercurial/subrepo.py Fri Jul 13 21:46:53 2012 +0200 @@ -503,9 +503,10 @@ % (subrelpath(self), srcurl)) parentrepo = self._repo._subparent shutil.rmtree(self._repo.path) - other, self._repo = hg.clone(self._repo._subparent.ui, {}, - other, self._repo.root, - update=False) + other, cloned = hg.clone(self._repo._subparent.ui, {}, + other, self._repo.root, + update=False) + self._repo = cloned.local() self._initrepo(parentrepo, source, create=True) else: self._repo.ui.status(_('pulling subrepo %s from %s\n')