diff -r 21d5416b8a8a -r 15a70ca40b22 mercurial/subrepo.py --- a/mercurial/subrepo.py Fri Oct 03 11:11:12 2014 -0500 +++ b/mercurial/subrepo.py Fri Oct 03 11:12:55 2014 -0500 @@ -743,7 +743,7 @@ self._repo.ui.status(_('pulling subrepo %s from %s\n') % (subrelpath(self), srcurl)) cleansub = self.storeclean(srcurl) - self._repo.pull(other) + exchange.pull(self._repo, other) if cleansub: # keep the repo clean after pull self._cachestorehash(srcurl)