Mercurial > hg
annotate contrib/base-revsets.txt @ 32383:f928d53b687c stable
dispatch: setup color before pager for correct console information on windows
Before this patch, "hg CMD --pager on" on Windows shows output
unintentionally decorated with ANSI color escape sequences, if color
mode is "auto". This issue occurs in steps below.
1. dispatch() invokes ui.pager() at detection of "--pager on"
2. stdout of hg process is redirected into stdin of pager process
3. "ui.formatted" = True, because isatty(stdout) is so before (2)
4. color module is loaded for colorization
5. color.w32effects = None, because GetConsoleScreenBufferInfo()
fails on stdout redirected at (2)
6. "ansi" color mode is chosen, because of "not w32effects"
7. output is colorized in "ansi" mode because of "ui.formatted" = True
Even if "ansi" color mode is chosen, ordinarily redirected stdout
makes ui.formatted() return False, and colorization is avoided. But in
this issue case, "ui.formatted" = True at (3) forces output to be
colorized.
For correct console information on win32, it is needed to ensure that
color module is loaded before redirection of stdout for pagination.
BTW, if any of enabled extensions has "colortable" attribute, this
issue is avoided even before this patch, because color module is
imported as a part of loading such extension, and extension loading
occurs before setting up pager. For example, mq and keyword have
"colortable".
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Tue, 23 May 2017 03:29:23 +0900 |
parents | 67a2192dcb64 |
children | 70a4289896b0 |
rev | line source |
---|---|
25608
2fea23d035d8
contrib: rename revsetbenchmarks.txt to 'base-revsets.txt'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25545
diff
changeset
|
1 # Base Revsets to be used with revsetbenchmarks.py script |
2fea23d035d8
contrib: rename revsetbenchmarks.txt to 'base-revsets.txt'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25545
diff
changeset
|
2 # |
2fea23d035d8
contrib: rename revsetbenchmarks.txt to 'base-revsets.txt'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25545
diff
changeset
|
3 # The goal of this file is to gather a limited amount of revsets that allow a |
2fea23d035d8
contrib: rename revsetbenchmarks.txt to 'base-revsets.txt'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25545
diff
changeset
|
4 # good coverage of the internal revsets mechanisms. Revsets included should not |
2fea23d035d8
contrib: rename revsetbenchmarks.txt to 'base-revsets.txt'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25545
diff
changeset
|
5 # be selected for their individual implementation, but for what they reveal of |
2fea23d035d8
contrib: rename revsetbenchmarks.txt to 'base-revsets.txt'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25545
diff
changeset
|
6 # the internal implementation of smartsets classes (and their interactions). |
2fea23d035d8
contrib: rename revsetbenchmarks.txt to 'base-revsets.txt'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25545
diff
changeset
|
7 # |
2fea23d035d8
contrib: rename revsetbenchmarks.txt to 'base-revsets.txt'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25545
diff
changeset
|
8 # Use and update this file when you change internal implementation of these |
2fea23d035d8
contrib: rename revsetbenchmarks.txt to 'base-revsets.txt'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25545
diff
changeset
|
9 # smartsets classes. Please include a comment explaining what each of your |
2fea23d035d8
contrib: rename revsetbenchmarks.txt to 'base-revsets.txt'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25545
diff
changeset
|
10 # addition is testing. Also check if your changes to the smartset class makes |
2fea23d035d8
contrib: rename revsetbenchmarks.txt to 'base-revsets.txt'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25545
diff
changeset
|
11 # some of the tests inadequate and replace them with a new one testing the same |
2fea23d035d8
contrib: rename revsetbenchmarks.txt to 'base-revsets.txt'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25545
diff
changeset
|
12 # behavior. |
2fea23d035d8
contrib: rename revsetbenchmarks.txt to 'base-revsets.txt'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25545
diff
changeset
|
13 # |
25609
67a2192dcb64
contrib: introduce an all-revsets.txt file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25608
diff
changeset
|
14 # If you want to benchmark revsets predicate itself, check 'all-revsets.txt'. |
67a2192dcb64
contrib: introduce an all-revsets.txt file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25608
diff
changeset
|
15 # |
25608
2fea23d035d8
contrib: rename revsetbenchmarks.txt to 'base-revsets.txt'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25545
diff
changeset
|
16 # The current content of this file is currently likely not reaching this goal |
2fea23d035d8
contrib: rename revsetbenchmarks.txt to 'base-revsets.txt'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25545
diff
changeset
|
17 # entirely, feel free, to audit its content and comment on each revset to |
2fea23d035d8
contrib: rename revsetbenchmarks.txt to 'base-revsets.txt'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25545
diff
changeset
|
18 # highlight what internal mechanisms they test. |
2fea23d035d8
contrib: rename revsetbenchmarks.txt to 'base-revsets.txt'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25545
diff
changeset
|
19 |
20777
77318d3c3b24
benchmark-revset: add full version of benchmarked revset
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
20754
diff
changeset
|
20 all() |
20744
9907b3f79ac2
contrib: added revset examples for benchmarking performance
Lucas Moscovicz <lmoscovicz@fb.com>
parents:
diff
changeset
|
21 draft() |
20777
77318d3c3b24
benchmark-revset: add full version of benchmarked revset
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
20754
diff
changeset
|
22 ::tip |
20744
9907b3f79ac2
contrib: added revset examples for benchmarking performance
Lucas Moscovicz <lmoscovicz@fb.com>
parents:
diff
changeset
|
23 draft() and ::tip |
21285
7078ce067367
revsetbenchmark: add `::tip and draft()` to the canonical list
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21204
diff
changeset
|
24 ::tip and draft() |
20777
77318d3c3b24
benchmark-revset: add full version of benchmarked revset
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
20754
diff
changeset
|
25 0::tip |
20744
9907b3f79ac2
contrib: added revset examples for benchmarking performance
Lucas Moscovicz <lmoscovicz@fb.com>
parents:
diff
changeset
|
26 roots(0::tip) |
9907b3f79ac2
contrib: added revset examples for benchmarking performance
Lucas Moscovicz <lmoscovicz@fb.com>
parents:
diff
changeset
|
27 author(lmoscovicz) |
20777
77318d3c3b24
benchmark-revset: add full version of benchmarked revset
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
20754
diff
changeset
|
28 author(mpm) |
20744
9907b3f79ac2
contrib: added revset examples for benchmarking performance
Lucas Moscovicz <lmoscovicz@fb.com>
parents:
diff
changeset
|
29 author(lmoscovicz) or author(mpm) |
21295
883e268cb860
revsetbenchmark: add `author(mpm) or author(lmoscovicz)` to the canonical list
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21285
diff
changeset
|
30 author(mpm) or author(lmoscovicz) |
20777
77318d3c3b24
benchmark-revset: add full version of benchmarked revset
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
20754
diff
changeset
|
31 tip:0 |
77318d3c3b24
benchmark-revset: add full version of benchmarked revset
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
20754
diff
changeset
|
32 0:: |
22556
480a24ad9f77
revsetbenchmark: allow comments ('#' prefix) in the revset input
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22458
diff
changeset
|
33 # those two `roots(...)` inputs are close to what phase movement use. |
20894
04e1596d5dbd
revset: improve _descendants performance
Durham Goode <durham@fb.com>
parents:
20861
diff
changeset
|
34 roots((tip~100::) - (tip~100::tip)) |
22556
480a24ad9f77
revsetbenchmark: allow comments ('#' prefix) in the revset input
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22458
diff
changeset
|
35 roots((0::) - (0::tip)) |
24923
e5f166961123
revset: narrow the subset using smartset operation in roots()
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22557
diff
changeset
|
36 42:68 and roots(42:tip) |
20861
c2a81aa19980
revsetbenchmark: add entry for ::rev::
Gregory Szorc <gregory.szorc@gmail.com>
parents:
20777
diff
changeset
|
37 ::p1(p1(tip)):: |
21204
1d7a2771aa36
revset: inline spanset containment check (fix perf regression)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
20894
diff
changeset
|
38 public() |
1d7a2771aa36
revset: inline spanset containment check (fix perf regression)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
20894
diff
changeset
|
39 :10000 and public() |
1d7a2771aa36
revset: inline spanset containment check (fix perf regression)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
20894
diff
changeset
|
40 draft() |
1d7a2771aa36
revset: inline spanset containment check (fix perf regression)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
20894
diff
changeset
|
41 :10000 and draft() |
21939
f486001f9d6f
revset: optimize baseset.__sub__ (issue4313)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21546
diff
changeset
|
42 roots((0:tip)::) |
22312
8b980fbbd6dc
revsetbenchmark: add revset with lazyset subtraction
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21939
diff
changeset
|
43 (not public() - obsolete()) |
22451
186fd06283b4
revset: lower weight for _intlist function
Durham Goode <durham@fb.com>
parents:
22450
diff
changeset
|
44 (_intlist('20000\x0020001')) and merge() |
22450
95af98616aa7
revset: make parents() O(number of parents)
Durham Goode <durham@fb.com>
parents:
22449
diff
changeset
|
45 parents(20000) |
22449
da05fe01170b
revset: make descendants() lazier
Durham Goode <durham@fb.com>
parents:
22312
diff
changeset
|
46 (20000::) - (20000) |
22557
ace8320156ef
revsetbenchmark: add a rebase-related revset to the benchmark list
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22556
diff
changeset
|
47 # The one below is used by rebase |
ace8320156ef
revsetbenchmark: add a rebase-related revset to the benchmark list
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22556
diff
changeset
|
48 (children(ancestor(tip~5, tip)) and ::(tip~5)):: |