diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -994,7 +994,11 @@ def bundle(ui, repo, fname, dest=None, * force=opts.get('force')) cg = repo.getlocalbundle('bundle', outgoing) if not cg: - ui.status(_("no changes found\n")) + if 'outgoing' in locals() and outgoing.excluded: + repo.ui.status(_("no changes found but %i secret changesets\n") + % len(outgoing.excluded)) + else: + ui.status(_("no changes found\n")) return 1 bundletype = opts.get('type', 'bzip2').lower() diff --git a/tests/test-bundle.t b/tests/test-bundle.t --- a/tests/test-bundle.t +++ b/tests/test-bundle.t @@ -39,6 +39,15 @@ Setting up test $ cd .. $ hg init empty +Bundle and phase + + $ hg -R test phase --force --secret 0 + $ hg -R test bundle phase.hg empty + searching for changes + no changes found but 9 secret changesets + [1] + $ hg -R test phase --draft -r 'head()' + Bundle --all $ hg -R test bundle --all all.hg