diff -r 26abd91d9e84 -r 49e14ec67144 mercurial/subrepo.py --- a/mercurial/subrepo.py Mon Apr 26 20:13:14 2010 +0900 +++ b/mercurial/subrepo.py Fri Apr 30 18:32:18 2010 -0500 @@ -258,12 +258,13 @@ c = self._repo[''] subs = c.substate # only repos that are committed for s in sorted(subs): - c.sub(s).push(force) + if not c.sub(s).push(force): + return False self._repo.ui.status(_('pushing subrepo %s\n') % self._path) dsturl = _abssource(self._repo, True) other = hg.repository(self._repo.ui, dsturl) - self._repo.push(other, force) + return self._repo.push(other, force) class svnsubrepo(object): def __init__(self, ctx, path, state):