[PATCH STABLE] ui: remove commands.status.terse=u from ui.tweakdefaults (issue5947)
Gregory Szorc
gregory.szorc at gmail.com
Tue Jul 31 20:48:04 UTC 2018
# HG changeset patch
# User Gregory Szorc <gregory.szorc at gmail.com>
# Date 1533070017 25200
# Tue Jul 31 13:46:57 2018 -0700
# Branch stable
# Node ID f273a79fcc9e8223f463197eacb825627c2fc1f8
# Parent 7abe6c96df0b07b121e7250b58677df62355012c
ui: remove commands.status.terse=u from ui.tweakdefaults (issue5947)
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 ..
More information about the Mercurial-devel
mailing list