ui: remove commands.status.terse=u from ui.tweakdefaults stable
authorGregory Szorc <gregory.szorc@gmail.com>
Tue, 31 Jul 2018 13:46:57 -0700
branchstable
changeset 38762 fe3ca1e6f786
parent 38761 d558e53cd6b6
child 38763 33ac6a72308a
ui: remove commands.status.terse=u from ui.tweakdefaults commands.status.terse=u can add significant overhead when operating on large repositories. Using the Firefox repository: HGRCPATH= hg --time status time: real 1.340 secs (user 0.960+0.000 sys 0.380+0.000) HGRCPATH= hg --time --config commands.status.terse=u status time: real 2.420 secs (user 2.070+0.000 sys 0.360+0.000) HGRCPATH= hg --time --config extensions.fsmonitor= status time: real 0.080 secs (user 0.050+0.010 sys 0.040+0.000) HGRCPATH= ~/src/hg/hg --time --config extensions.fsmonitor= --config commands.status.terse=u status time: real 2.470 secs (user 2.080+0.000 sys 0.390+0.000) The performance regression - especially when fsmonitor is being used - is too much to stomach for the 4.7 release. We've decided to remove commands.status.terse=u from ui.tweakdefaults until we can improve its performance, hopefully in the 4.8 cycle. This commit effectively backs out 6acf41bb8d40.
mercurial/ui.py
tests/test-status.t
--- a/mercurial/ui.py	Wed Jul 25 21:19:06 2018 +0300
+++ b/mercurial/ui.py	Tue Jul 31 13:46:57 2018 -0700
@@ -67,8 +67,6 @@
 update.check = noconflict
 # Show conflicts information in `hg status`
 status.verbose = True
-# Collapse entire directories that contain only unknown files
-status.terse = u
 
 [diff]
 git = 1
--- a/tests/test-status.t	Wed Jul 25 21:19:06 2018 +0300
+++ b/tests/test-status.t	Tue Jul 31 13:46:57 2018 -0700
@@ -109,8 +109,11 @@
 
 tweaking defaults works
   $ hg status --cwd a --config ui.tweakdefaults=yes
-  ? .
-  ? ../b/
+  ? 1/in_a_1
+  ? in_a
+  ? ../b/1/in_b_1
+  ? ../b/2/in_b_2
+  ? ../b/in_b
   ? ../in_root
   $ HGPLAIN=1 hg status --cwd a --config ui.tweakdefaults=yes
   ? a/1/in_a_1 (glob)
@@ -120,8 +123,11 @@
   ? b/in_b (glob)
   ? in_root
   $ HGPLAINEXCEPT=tweakdefaults hg status --cwd a --config ui.tweakdefaults=yes
-  ? .
-  ? ../b/
+  ? 1/in_a_1
+  ? in_a
+  ? ../b/1/in_b_1
+  ? ../b/2/in_b_2
+  ? ../b/in_b
   ? ../in_root (glob)
 
 relative paths can be requested
@@ -151,8 +157,11 @@
   > status.relative = False
   > EOF
   $ hg status --cwd a --config ui.tweakdefaults=yes
-  ? a/
-  ? b/
+  ? a/1/in_a_1
+  ? a/in_a
+  ? b/1/in_b_1
+  ? b/2/in_b_2
+  ? b/in_b
   ? in_root
 
   $ cd ..