diff -r 7f47873d7484 -r 04604d1a9fc3 mercurial/commands.py --- a/mercurial/commands.py Mon Jan 30 11:23:17 2012 -0600 +++ b/mercurial/commands.py Mon Jan 30 11:26:20 2012 -0600 @@ -4419,7 +4419,7 @@ c = 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 finally: del repo._subtoppath