diff -r 132d783d6a87 -r 37d1b20168d1 mercurial/subrepo.py --- a/mercurial/subrepo.py Sat May 01 15:14:22 2010 -0500 +++ b/mercurial/subrepo.py Sat May 01 15:15:35 2010 -0500 @@ -259,12 +259,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):