Mercurial > hg
annotate tests/test-basic.t @ 44574:5205b46bd887
fix: add a -s option to format a revision and its descendants
`hg fix -r abc123` will format that commit but not its
descendants. That seems expected given the option name (`-r`), but
it's very rarely what the user wants to do. The problem is that any
descendants of that commit will not be formatted, leaving them as
orphans that are hard to evolve. They are hard to evolve because the
new parent will have formatting changes that the orphan doesn't have.
I talked to Danny Hooper (who wrote most of the fix extension) about
the problem and we agreed that deprecating `-r` in favor of a new `-s`
argument (mimicing rebase's `-s`) would be a good way of reducing the
risk that users end up with these hard-to-evolve orphans. So that's
what this patch implements.
Differential Revision: https://phab.mercurial-scm.org/D8287
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Fri, 13 Mar 2020 12:16:00 -0700 |
parents | 69883775b27d |
children | 21733e8c924f |
rev | line source |
---|---|
11742 | 1 Create a repository: |
2 | |
37342
4e6a6d0dccee
tests: conditionalize tests based on presence of custom extensions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37009
diff
changeset
|
3 #if no-extraextensions |
20608
a3ca1d032926
config: make repo optional again
Matt Mackall <mpm@selenic.com>
parents:
17346
diff
changeset
|
4 $ hg config |
25290
8f88f768e24c
devel: rename 'all' to 'all-warnings' (BC)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24751
diff
changeset
|
5 devel.all-warnings=true |
32410
f94d7e3e46a0
devel: activate default-date in tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
31964
diff
changeset
|
6 devel.default-date=0 0 |
33426
29653495cece
tests: add extra output for fsmonitor at showconfig
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
32940
diff
changeset
|
7 extensions.fsmonitor= (fsmonitor !) |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
35280
diff
changeset
|
8 largefiles.usercache=$TESTTMP/.cache/largefiles |
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
35280
diff
changeset
|
9 lfs.usercache=$TESTTMP/.cache/lfs |
20608
a3ca1d032926
config: make repo optional again
Matt Mackall <mpm@selenic.com>
parents:
17346
diff
changeset
|
10 ui.slash=True |
a3ca1d032926
config: make repo optional again
Matt Mackall <mpm@selenic.com>
parents:
17346
diff
changeset
|
11 ui.interactive=False |
40470
d6b6f1b441cf
run-tests: define the default merge tool through configuration
Boris Feld <boris.feld@octobus.net>
parents:
40369
diff
changeset
|
12 ui.merge=internal:merge |
21918
10abc3a5c6b2
filemerge: use 'basic' as the default of '[ui] mergemarkers' for safety
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20608
diff
changeset
|
13 ui.mergemarkers=detailed |
23053
5ba11ab48fcf
ui: separate option to show prompt echo, enabled only in tests (issue4417)
Yuya Nishihara <yuya@tcha.org>
parents:
21918
diff
changeset
|
14 ui.promptecho=True |
31009
161ab32b44a1
runtests: set web.address to localhost
Jun Wu <quark@fb.com>
parents:
30986
diff
changeset
|
15 web.address=localhost |
31010 | 16 web\.ipv6=(?:True|False) (re) |
37009
5890e5872f36
hgweb: allow defining Server response header for HTTP server
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36638
diff
changeset
|
17 web.server-header=testing stub value |
37342
4e6a6d0dccee
tests: conditionalize tests based on presence of custom extensions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37009
diff
changeset
|
18 #endif |
4e6a6d0dccee
tests: conditionalize tests based on presence of custom extensions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37009
diff
changeset
|
19 |
13956
ffb5c09ba822
tests: remove redundant mkdir
Martin Geisler <mg@lazybytes.net>
parents:
13568
diff
changeset
|
20 $ hg init t |
11742 | 21 $ cd t |
22 | |
31964
ebaada96aec3
stdio: add Linux-specific tests for error checking
Bryan O'Sullivan <bryano@fb.com>
parents:
31010
diff
changeset
|
23 Prepare a changeset: |
11742 | 24 |
25 $ echo a > a | |
26 $ hg add a | |
31964
ebaada96aec3
stdio: add Linux-specific tests for error checking
Bryan O'Sullivan <bryano@fb.com>
parents:
31010
diff
changeset
|
27 |
ebaada96aec3
stdio: add Linux-specific tests for error checking
Bryan O'Sullivan <bryano@fb.com>
parents:
31010
diff
changeset
|
28 $ hg status |
ebaada96aec3
stdio: add Linux-specific tests for error checking
Bryan O'Sullivan <bryano@fb.com>
parents:
31010
diff
changeset
|
29 A a |
ebaada96aec3
stdio: add Linux-specific tests for error checking
Bryan O'Sullivan <bryano@fb.com>
parents:
31010
diff
changeset
|
30 |
ebaada96aec3
stdio: add Linux-specific tests for error checking
Bryan O'Sullivan <bryano@fb.com>
parents:
31010
diff
changeset
|
31 Writes to stdio succeed and fail appropriately |
ebaada96aec3
stdio: add Linux-specific tests for error checking
Bryan O'Sullivan <bryano@fb.com>
parents:
31010
diff
changeset
|
32 |
ebaada96aec3
stdio: add Linux-specific tests for error checking
Bryan O'Sullivan <bryano@fb.com>
parents:
31010
diff
changeset
|
33 #if devfull |
ebaada96aec3
stdio: add Linux-specific tests for error checking
Bryan O'Sullivan <bryano@fb.com>
parents:
31010
diff
changeset
|
34 $ hg status 2>/dev/full |
ebaada96aec3
stdio: add Linux-specific tests for error checking
Bryan O'Sullivan <bryano@fb.com>
parents:
31010
diff
changeset
|
35 A a |
ebaada96aec3
stdio: add Linux-specific tests for error checking
Bryan O'Sullivan <bryano@fb.com>
parents:
31010
diff
changeset
|
36 |
ebaada96aec3
stdio: add Linux-specific tests for error checking
Bryan O'Sullivan <bryano@fb.com>
parents:
31010
diff
changeset
|
37 $ hg status >/dev/full |
ebaada96aec3
stdio: add Linux-specific tests for error checking
Bryan O'Sullivan <bryano@fb.com>
parents:
31010
diff
changeset
|
38 abort: No space left on device |
ebaada96aec3
stdio: add Linux-specific tests for error checking
Bryan O'Sullivan <bryano@fb.com>
parents:
31010
diff
changeset
|
39 [255] |
34448
1f5bd3e1a7fe
test-basic: make test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents:
33426
diff
changeset
|
40 #endif |
31964
ebaada96aec3
stdio: add Linux-specific tests for error checking
Bryan O'Sullivan <bryano@fb.com>
parents:
31010
diff
changeset
|
41 |
35653
48fe4f56a3b4
dispatch: handle IOError when writing to stderr
Gregory Szorc <gregory.szorc@gmail.com>
parents:
35393
diff
changeset
|
42 #if devfull |
34448
1f5bd3e1a7fe
test-basic: make test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents:
33426
diff
changeset
|
43 $ hg status >/dev/full 2>&1 |
1f5bd3e1a7fe
test-basic: make test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents:
33426
diff
changeset
|
44 [255] |
1f5bd3e1a7fe
test-basic: make test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents:
33426
diff
changeset
|
45 |
1f5bd3e1a7fe
test-basic: make test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents:
33426
diff
changeset
|
46 $ hg status ENOENT 2>/dev/full |
1f5bd3e1a7fe
test-basic: make test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents:
33426
diff
changeset
|
47 [255] |
1f5bd3e1a7fe
test-basic: make test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents:
33426
diff
changeset
|
48 #endif |
1f5bd3e1a7fe
test-basic: make test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents:
33426
diff
changeset
|
49 |
12156
4c94b6d0fb1c
tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents:
11742
diff
changeset
|
50 $ hg commit -m test |
11742 | 51 |
52 This command is ancient: | |
331 | 53 |
11742 | 54 $ hg history |
12156
4c94b6d0fb1c
tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents:
11742
diff
changeset
|
55 changeset: 0:acb14030fe0a |
11742 | 56 tag: tip |
57 user: test | |
12156
4c94b6d0fb1c
tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents:
11742
diff
changeset
|
58 date: Thu Jan 01 00:00:00 1970 +0000 |
11742 | 59 summary: test |
60 | |
61 | |
13568
0b79cf616e65
commands.update() now works properly with a revision of 0
Mark Drago <markdrago@gmail.com>
parents:
12156
diff
changeset
|
62 Verify that updating to revision 0 via commands.update() works properly |
0b79cf616e65
commands.update() now works properly with a revision of 0
Mark Drago <markdrago@gmail.com>
parents:
12156
diff
changeset
|
63 |
0b79cf616e65
commands.update() now works properly with a revision of 0
Mark Drago <markdrago@gmail.com>
parents:
12156
diff
changeset
|
64 $ cat <<EOF > update_to_rev0.py |
40369
ef6cab7930b3
py3: fix module imports in tests, as flagged by test-check-module-imports.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
39707
diff
changeset
|
65 > from mercurial import commands, hg, ui as uimod |
ef6cab7930b3
py3: fix module imports in tests, as flagged by test-check-module-imports.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
39707
diff
changeset
|
66 > myui = uimod.ui.load() |
36638
159b04de5fb0
py3: make test-basic.t pass on Python 3
Yuya Nishihara <yuya@tcha.org>
parents:
36247
diff
changeset
|
67 > repo = hg.repository(myui, path=b'.') |
38480
ecaa0ad4ed4f
tests: pass "rev" argument to commands.update() as string
Martin von Zweigbergk <martinvonz@google.com>
parents:
37342
diff
changeset
|
68 > commands.update(myui, repo, rev=b"0") |
13568
0b79cf616e65
commands.update() now works properly with a revision of 0
Mark Drago <markdrago@gmail.com>
parents:
12156
diff
changeset
|
69 > EOF |
0b79cf616e65
commands.update() now works properly with a revision of 0
Mark Drago <markdrago@gmail.com>
parents:
12156
diff
changeset
|
70 $ hg up null |
0b79cf616e65
commands.update() now works properly with a revision of 0
Mark Drago <markdrago@gmail.com>
parents:
12156
diff
changeset
|
71 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
39707
5abc47d4ca6b
tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents:
39489
diff
changeset
|
72 $ "$PYTHON" ./update_to_rev0.py |
13568
0b79cf616e65
commands.update() now works properly with a revision of 0
Mark Drago <markdrago@gmail.com>
parents:
12156
diff
changeset
|
73 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
0b79cf616e65
commands.update() now works properly with a revision of 0
Mark Drago <markdrago@gmail.com>
parents:
12156
diff
changeset
|
74 $ hg identify -n |
0b79cf616e65
commands.update() now works properly with a revision of 0
Mark Drago <markdrago@gmail.com>
parents:
12156
diff
changeset
|
75 0 |
17346
2944a6d35158
check-code: fix check for trailing whitespace on empty lines
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
76 |
13568
0b79cf616e65
commands.update() now works properly with a revision of 0
Mark Drago <markdrago@gmail.com>
parents:
12156
diff
changeset
|
77 |
11742 | 78 Poke around at hashes: |
79 | |
80 $ hg manifest --debug | |
81 b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 644 a | |
82 | |
83 $ hg cat a | |
84 a | |
85 | |
86 Verify should succeed: | |
87 | |
88 $ hg verify | |
89 checking changesets | |
90 checking manifests | |
91 crosschecking files in changesets and manifests | |
92 checking files | |
39489
f1186c292d03
verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents:
38480
diff
changeset
|
93 checked 1 changesets with 1 changes to 1 files |
11742 | 94 |
36247
48a6b1a22ccf
templatekw: add {reporoot} keyword
Yuya Nishihara <yuya@tcha.org>
parents:
35653
diff
changeset
|
95 Repository root: |
48a6b1a22ccf
templatekw: add {reporoot} keyword
Yuya Nishihara <yuya@tcha.org>
parents:
35653
diff
changeset
|
96 |
48a6b1a22ccf
templatekw: add {reporoot} keyword
Yuya Nishihara <yuya@tcha.org>
parents:
35653
diff
changeset
|
97 $ hg root |
48a6b1a22ccf
templatekw: add {reporoot} keyword
Yuya Nishihara <yuya@tcha.org>
parents:
35653
diff
changeset
|
98 $TESTTMP/t |
48a6b1a22ccf
templatekw: add {reporoot} keyword
Yuya Nishihara <yuya@tcha.org>
parents:
35653
diff
changeset
|
99 $ hg log -l1 -T '{reporoot}\n' |
48a6b1a22ccf
templatekw: add {reporoot} keyword
Yuya Nishihara <yuya@tcha.org>
parents:
35653
diff
changeset
|
100 $TESTTMP/t |
42418
9803323048b6
root: add support for -Tformatter option
Yuya Nishihara <yuya@tcha.org>
parents:
40547
diff
changeset
|
101 $ hg root -Tjson | sed 's|\\\\|\\|g' |
9803323048b6
root: add support for -Tformatter option
Yuya Nishihara <yuya@tcha.org>
parents:
40547
diff
changeset
|
102 [ |
9803323048b6
root: add support for -Tformatter option
Yuya Nishihara <yuya@tcha.org>
parents:
40547
diff
changeset
|
103 { |
42419
69883775b27d
root: add template variables pointing to repository directories
Yuya Nishihara <yuya@tcha.org>
parents:
42418
diff
changeset
|
104 "hgpath": "$TESTTMP/t/.hg", |
69883775b27d
root: add template variables pointing to repository directories
Yuya Nishihara <yuya@tcha.org>
parents:
42418
diff
changeset
|
105 "reporoot": "$TESTTMP/t", |
69883775b27d
root: add template variables pointing to repository directories
Yuya Nishihara <yuya@tcha.org>
parents:
42418
diff
changeset
|
106 "storepath": "$TESTTMP/t/.hg/store" |
42418
9803323048b6
root: add support for -Tformatter option
Yuya Nishihara <yuya@tcha.org>
parents:
40547
diff
changeset
|
107 } |
9803323048b6
root: add support for -Tformatter option
Yuya Nishihara <yuya@tcha.org>
parents:
40547
diff
changeset
|
108 ] |
36247
48a6b1a22ccf
templatekw: add {reporoot} keyword
Yuya Nishihara <yuya@tcha.org>
parents:
35653
diff
changeset
|
109 |
11742 | 110 At the end... |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
13956
diff
changeset
|
111 |
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
13956
diff
changeset
|
112 $ cd .. |
40547
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
113 |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
114 Status message redirection: |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
115 |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
116 $ hg init empty |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
117 |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
118 status messages are sent to stdout by default: |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
119 |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
120 $ hg outgoing -R t empty -Tjson 2>/dev/null |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
121 comparing with empty |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
122 searching for changes |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
123 [ |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
124 { |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
125 "bookmarks": [], |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
126 "branch": "default", |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
127 "date": [0, 0], |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
128 "desc": "test", |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
129 "node": "acb14030fe0a21b60322c440ad2d20cf7685a376", |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
130 "parents": ["0000000000000000000000000000000000000000"], |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
131 "phase": "draft", |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
132 "rev": 0, |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
133 "tags": ["tip"], |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
134 "user": "test" |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
135 } |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
136 ] |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
137 |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
138 which can be configured to send to stderr, so the output wouldn't be |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
139 interleaved: |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
140 |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
141 $ cat <<'EOF' >> "$HGRCPATH" |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
142 > [ui] |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
143 > message-output = stderr |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
144 > EOF |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
145 $ hg outgoing -R t empty -Tjson 2>/dev/null |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
146 [ |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
147 { |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
148 "bookmarks": [], |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
149 "branch": "default", |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
150 "date": [0, 0], |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
151 "desc": "test", |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
152 "node": "acb14030fe0a21b60322c440ad2d20cf7685a376", |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
153 "parents": ["0000000000000000000000000000000000000000"], |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
154 "phase": "draft", |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
155 "rev": 0, |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
156 "tags": ["tip"], |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
157 "user": "test" |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
158 } |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
159 ] |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
160 $ hg outgoing -R t empty -Tjson >/dev/null |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
161 comparing with empty |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
162 searching for changes |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
163 |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
164 this option should be turned off by HGPLAIN= since it may break scripting use: |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
165 |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
166 $ HGPLAIN= hg outgoing -R t empty -Tjson 2>/dev/null |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
167 comparing with empty |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
168 searching for changes |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
169 [ |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
170 { |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
171 "bookmarks": [], |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
172 "branch": "default", |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
173 "date": [0, 0], |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
174 "desc": "test", |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
175 "node": "acb14030fe0a21b60322c440ad2d20cf7685a376", |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
176 "parents": ["0000000000000000000000000000000000000000"], |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
177 "phase": "draft", |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
178 "rev": 0, |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
179 "tags": ["tip"], |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
180 "user": "test" |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
181 } |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
182 ] |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
183 |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
184 but still overridden by --config: |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
185 |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
186 $ HGPLAIN= hg outgoing -R t empty -Tjson --config ui.message-output=stderr \ |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
187 > 2>/dev/null |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
188 [ |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
189 { |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
190 "bookmarks": [], |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
191 "branch": "default", |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
192 "date": [0, 0], |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
193 "desc": "test", |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
194 "node": "acb14030fe0a21b60322c440ad2d20cf7685a376", |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
195 "parents": ["0000000000000000000000000000000000000000"], |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
196 "phase": "draft", |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
197 "rev": 0, |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
198 "tags": ["tip"], |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
199 "user": "test" |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
200 } |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
201 ] |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
202 |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
203 Invalid ui.message-output option: |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
204 |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
205 $ hg log -R t --config ui.message-output=bad |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
206 abort: invalid ui.message-output destination: bad |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
207 [255] |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
208 |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
209 Underlying message streams should be updated when ui.fout/ferr are set: |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
210 |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
211 $ cat <<'EOF' > capui.py |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
212 > from mercurial import pycompat, registrar |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
213 > cmdtable = {} |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
214 > command = registrar.command(cmdtable) |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
215 > @command(b'capui', norepo=True) |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
216 > def capui(ui): |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
217 > out = ui.fout |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
218 > ui.fout = pycompat.bytesio() |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
219 > ui.status(b'status\n') |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
220 > ui.ferr = pycompat.bytesio() |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
221 > ui.warn(b'warn\n') |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
222 > out.write(b'stdout: %s' % ui.fout.getvalue()) |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
223 > out.write(b'stderr: %s' % ui.ferr.getvalue()) |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
224 > EOF |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
225 $ hg --config extensions.capui=capui.py --config ui.message-output=stdio capui |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
226 stdout: status |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
227 stderr: warn |