diff -r 765c98f068d3 -r 5dbff89cf107 mercurial/subrepo.py --- a/mercurial/subrepo.py Tue Oct 26 14:41:58 2010 +0300 +++ b/mercurial/subrepo.py Wed Oct 27 00:28:40 2010 +0200 @@ -187,6 +187,8 @@ else: # plain file system path return posixpath.normpath(os.path.join(parent, repo._subsource)) else: # recursion reached top repo + if hasattr(repo, '_subtoppath'): + return repo._subtoppath if push and repo.ui.config('paths', 'default-push'): return repo.ui.config('paths', 'default-push') if repo.ui.config('paths', 'default'):