diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -6493,6 +6493,18 @@ def summary(ui, repo, **opts): if draft or secret: ui.status(_('phases: %s\n') % ', '.join(t)) + if obsolete.isenabled(repo, obsolete.createmarkersopt): + for trouble in ("unstable", "divergent", "bumped"): + numtrouble = len(repo.revs(trouble + "()")) + # We write all the possibilities to ease translation + troublemsg = { + "unstable": _("unstable: %d changeset"), + "divergent": _("divergent: %d changeset"), + "bumped": _("bumped: %d changeset"), + } + if numtrouble > 0: + ui.status(troublemsg[trouble] % numtrouble + "\n") + cmdutil.summaryhooks(ui, repo) if opts.get('remote'): diff --git a/tests/test-obsolete.t b/tests/test-obsolete.t --- a/tests/test-obsolete.t +++ b/tests/test-obsolete.t @@ -238,6 +238,14 @@ And that we can't push bumped changeset Fixing "bumped" situation We need to create a clone of 5 and add a special marker with a flag + $ hg summary + parent: 5:5601fb93a350 tip + add new_3_c + branch: default + commit: (clean) + update: 1 new changesets, 2 branch heads (merge) + phases: 1 draft + bumped: 1 changeset $ hg up '5^' 0 files updated, 0 files merged, 1 files removed, 0 files unresolved $ hg revert -ar 5 @@ -465,6 +473,14 @@ detect outgoing obsolete and unstable 94b33453f93bdb8d457ef9b770851a618bf413e1 0 {6f96419950729f3671185b847352890f074f7557} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} $ hg log -r 'obsolete()' 4:94b33453f93b (draft) [ ] add original_d + $ hg summary + parent: 5:cda648ca50f5 tip + add original_e + branch: default + commit: (clean) + update: 1 new changesets, 2 branch heads (merge) + phases: 3 draft + unstable: 1 changeset $ hg log -G -r '::unstable()' @ 5:cda648ca50f5 (draft) [tip ] add original_e |