--- a/mercurial/discovery.py Thu Dec 22 00:40:46 2011 +0100
+++ b/mercurial/discovery.py Thu Dec 22 00:42:25 2011 +0100
@@ -85,12 +85,28 @@
_common, inc, remoteheads = commoninc
cl = repo.changelog
- outg = cl.findmissing(common, revs)
+ alloutg = cl.findmissing(common, revs)
+ outg = []
+ secret = []
+ for o in alloutg:
+ if repo[o].phase() >= 2:
+ secret.append(o)
+ else:
+ outg.append(o)
if not outg:
- repo.ui.status(_("no changes found\n"))
+ if secret:
+ repo.ui.status(_("no changes to push but %i secret changesets\n")
+ % len(secret))
+ else:
+ repo.ui.status(_("no changes found\n"))
return None, 1, common
+ if secret:
+ # recompute target revs
+ revs = [ctx.node() for ctx in repo.set('heads(::(%ld))',
+ map(repo.changelog.rev, outg))]
+
if not force and remoteheads != [nullid]:
if remote.capable('branchmap'):
# Check for each named branch if we're creating new remote heads.