Patchwork [4,of,8] paths: merge conditions that select visibility of fields

login
register
mail settings
Submitter Yuya Nishihara
Date Jan. 12, 2016, 10:34 p.m.
Message ID <1a6fd929056f3572b596.1452638042@waste.org>
Download mbox | patch
Permalink /patch/12714/
State Accepted
Commit 1a6fd929056f3572b596091372bf251579f41bce
Headers show

Comments

Yuya Nishihara - Jan. 12, 2016, 10:34 p.m.
# HG changeset patch
# User Yuya Nishihara <yuya@tcha.org>
# Date 1450015279 -32400
#      Sun Dec 13 23:01:19 2015 +0900
# Node ID 1a6fd929056f3572b596091372bf251579f41bce
# Parent  7e9dc8bbebf6a0fbfba5bbc83f110aa5673f9f8d
paths: merge conditions that select visibility of fields

Truth table (extracted from the original implementation):

  search quiet  name path subopt
  ------ -----  ---- ---- ------
  f      f      T    T    T
  f      T      T    f    f
  T      f      f    T    f
  T      T      f    f    f

Patch

diff --git a/mercurial/commands.py b/mercurial/commands.py
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -5403,16 +5403,19 @@ 
     else:
         pathitems = sorted(ui.paths.iteritems())
 
+    if ui.quiet:
+        namefmt = '%s\n'
+    else:
+        namefmt = '%s = '
+    showsubopts = not search and not ui.quiet
+
     for name, path in pathitems:
-        if search and not ui.quiet:
+        if not search:
+            ui.write(namefmt % name)
+        if not ui.quiet:
             ui.write("%s\n" % util.hidepassword(path.rawloc))
-        if search:
-            continue
-        if ui.quiet:
-            ui.write("%s\n" % name)
-        else:
-            ui.write("%s = %s\n" % (name, util.hidepassword(path.rawloc)))
-            for subopt, value in sorted(path.suboptions.items()):
+        for subopt, value in sorted(path.suboptions.items()):
+            if showsubopts:
                 ui.write('%s:%s = %s\n' % (name, subopt, value))
 
     if search and not pathitems: