diff -r 7f47873d7484 -r 04604d1a9fc3 mercurial/subrepo.py --- a/mercurial/subrepo.py Mon Jan 30 11:23:17 2012 -0600 +++ b/mercurial/subrepo.py Mon Jan 30 11:26:20 2012 -0600 @@ -528,7 +528,7 @@ c = self._repo[''] subs = c.substate # only repos that are committed for s in sorted(subs): - if not c.sub(s).push(opts): + if c.sub(s).push(opts) == 0: return False dsturl = _abssource(self._repo, True)