Patchwork [V4] summary: add troubles list to the output of hg summary

login
register
mail settings
Submitter Laurent Charignon
Date Dec. 14, 2015, 7:20 p.m.
Message ID <bb3e7e98aee832cc266c.1450120831@lcharignon-mbp.dhcp.thefacebook.com>
Download mbox | patch
Permalink /patch/12037/
State Accepted
Headers show

Comments

Laurent Charignon - Dec. 14, 2015, 7:20 p.m.
# HG changeset patch
# User Laurent Charignon <lcharignon@fb.com>
# Date 1450120788 28800
#      Mon Dec 14 11:19:48 2015 -0800
# Node ID bb3e7e98aee832cc266cfaff3e73da5f652b0718
# Parent  71aa5a26162d6e4a165b68f07b331e3e2eedc117
summary: add troubles list to the output of hg summary

This patch adds troubles information to the output of hg summary.
Example line displayed in hg summary:
unstable: 1 changeset
Matt Mackall - Dec. 16, 2015, 11:23 p.m.
On Mon, 2015-12-14 at 11:20 -0800, Laurent Charignon wrote:
> # HG changeset patch
> # User Laurent Charignon <lcharignon@fb.com>
> # Date 1450120788 28800
> #      Mon Dec 14 11:19:48 2015 -0800
> # Node ID bb3e7e98aee832cc266cfaff3e73da5f652b0718
> # Parent  71aa5a26162d6e4a165b68f07b331e3e2eedc117
> summary: add troubles list to the output of hg summary

Queued for default, thanks.

-- 
Mathematics is the supreme nostalgia of our time.

Patch

diff --git a/mercurial/commands.py b/mercurial/commands.py
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -6335,6 +6335,18 @@ 
     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 @@ 
 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 @@ 
   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
   |