Patchwork [STABLE] ui: remove commands.status.terse=u from ui.tweakdefaults (issue5947)

login
register
mail settings
Submitter Gregory Szorc
Date July 31, 2018, 8:48 p.m.
Message ID <f273a79fcc9e8223f463.1533070084@ubuntu-vm-main>
Download mbox | patch
Permalink /patch/32984/
State Accepted
Headers show

Comments

Gregory Szorc - July 31, 2018, 8:48 p.m.
# HG changeset patch
# User Gregory Szorc <gregory.szorc@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.
Pulkit Goyal - July 31, 2018, 8:50 p.m.
Maybe let's remove the issue number from commit message otherwise this will
mark that issue as fixed and I think having that issue around will be nice.

Can be done in flight.

On Tue 31 Jul, 2018, 11:48 PM Gregory Szorc, <gregory.szorc@gmail.com>
wrote:

> # HG changeset patch
> # User Gregory Szorc <gregory.szorc@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 ..
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel@mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
>
via Mercurial-devel - July 31, 2018, 9:21 p.m.
Queued with the "(issue5947)" removed, thanks.

On Tue, Jul 31, 2018 at 1:51 PM Pulkit Goyal <7895pulkit@gmail.com> wrote:

> Maybe let's remove the issue number from commit message otherwise this
> will mark that issue as fixed and I think having that issue around will be
> nice.
>
> Can be done in flight.
>
> On Tue 31 Jul, 2018, 11:48 PM Gregory Szorc, <gregory.szorc@gmail.com>
> wrote:
>
>> # HG changeset patch
>> # User Gregory Szorc <gregory.szorc@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 ..
>> _______________________________________________
>> Mercurial-devel mailing list
>> Mercurial-devel@mercurial-scm.org
>> https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
>>
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel@mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
>

Patch

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 ..