# HG changeset patch # User Gregory Szorc # Date 2018-07-31 20:46:57 # Node ID fe3ca1e6f786c1ea8eadf8cff9057095dbb2d463 # Parent d558e53cd6b619d5f671a7580513bfc66a398eac 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. diff --git a/mercurial/ui.py b/mercurial/ui.py --- a/mercurial/ui.py +++ b/mercurial/ui.py @@ -67,8 +67,6 @@ status.relative = yes 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 diff --git a/tests/test-status.t b/tests/test-status.t --- a/tests/test-status.t +++ b/tests/test-status.t @@ -109,8 +109,11 @@ combining patterns with root and pattern 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 @@ tweaking defaults works ? 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 @@ if relative paths are explicitly off, tw > 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 ..