[PATCH V2] ummary: add troubles list to the output of hg summary

Laurent Charignon lcharignon at fb.com
Thu Dec 10 21:49:49 UTC 2015


# HG changeset patch
# User Laurent Charignon <lcharignon at fb.com>
# Date 1449784145 28800
#      Thu Dec 10 13:49:05 2015 -0800
# Node ID e6d32e1ad5bc8bd69632183c0c530b24738882a7
# Parent  71aa5a26162d6e4a165b68f07b331e3e2eedc117
ummary: add troubles list to the output of hg summary

This patch adds troubles information for the output of hg summary.
Example lines displayed in hg summary:
unstable: 1 changeset
bumped: 2 changesets

diff --git a/mercurial/commands.py b/mercurial/commands.py
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -6335,6 +6335,22 @@ 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"),
+                            _("unstable: %d changesets")),
+               "divergent": (_("divergent: %d changeset"),
+                            _("divergent: %d changesets")),
+               "bumped": (_("bumped: %d changeset"),
+                            _("bumped: %d changesets")),
+            }
+            if numtrouble > 0:
+                plural = 0 if numtrouble == 1 else 1
+                ui.status(troublemsg[trouble][plural] % 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
   |


More information about the Mercurial-devel mailing list