Mercurial > hg
annotate tests/test-basic.t @ 46119:9261f6c1d39b
errors: raise StateError when push fails because it creates new heads
I decided to raise `StateError` here because the local and remote
repos are in an incompatible state. I think remote errors (exit code
100) should be when something goes wrong on the remote and there's
nothing the user can do.
Differential Revision: https://phab.mercurial-scm.org/D9391
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Mon, 23 Nov 2020 16:39:53 -0800 |
parents | f44b9c72f061 |
children | a04c03b0678e |
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 |
45826
21733e8c924f
errors: add config that lets user get more detailed exit codes
Martin von Zweigbergk <martinvonz@google.com>
parents:
42419
diff
changeset
|
12 ui.detailed-exit-code=True |
40470
d6b6f1b441cf
run-tests: define the default merge tool through configuration
Boris Feld <boris.feld@octobus.net>
parents:
40369
diff
changeset
|
13 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
|
14 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
|
15 ui.promptecho=True |
46015
f44b9c72f061
run-tests: allow some slack about 'waiting on lock' message
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
45826
diff
changeset
|
16 ui.timeout.warn=15 |
31009
161ab32b44a1
runtests: set web.address to localhost
Jun Wu <quark@fb.com>
parents:
30986
diff
changeset
|
17 web.address=localhost |
31010 | 18 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
|
19 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
|
20 #endif |
4e6a6d0dccee
tests: conditionalize tests based on presence of custom extensions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37009
diff
changeset
|
21 |
13956
ffb5c09ba822
tests: remove redundant mkdir
Martin Geisler <mg@lazybytes.net>
parents:
13568
diff
changeset
|
22 $ hg init t |
11742 | 23 $ cd t |
24 | |
31964
ebaada96aec3
stdio: add Linux-specific tests for error checking
Bryan O'Sullivan <bryano@fb.com>
parents:
31010
diff
changeset
|
25 Prepare a changeset: |
11742 | 26 |
27 $ echo a > a | |
28 $ hg add a | |
31964
ebaada96aec3
stdio: add Linux-specific tests for error checking
Bryan O'Sullivan <bryano@fb.com>
parents:
31010
diff
changeset
|
29 |
ebaada96aec3
stdio: add Linux-specific tests for error checking
Bryan O'Sullivan <bryano@fb.com>
parents:
31010
diff
changeset
|
30 $ hg status |
ebaada96aec3
stdio: add Linux-specific tests for error checking
Bryan O'Sullivan <bryano@fb.com>
parents:
31010
diff
changeset
|
31 A a |
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 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
|
34 |
ebaada96aec3
stdio: add Linux-specific tests for error checking
Bryan O'Sullivan <bryano@fb.com>
parents:
31010
diff
changeset
|
35 #if devfull |
ebaada96aec3
stdio: add Linux-specific tests for error checking
Bryan O'Sullivan <bryano@fb.com>
parents:
31010
diff
changeset
|
36 $ hg status 2>/dev/full |
ebaada96aec3
stdio: add Linux-specific tests for error checking
Bryan O'Sullivan <bryano@fb.com>
parents:
31010
diff
changeset
|
37 A a |
ebaada96aec3
stdio: add Linux-specific tests for error checking
Bryan O'Sullivan <bryano@fb.com>
parents:
31010
diff
changeset
|
38 |
ebaada96aec3
stdio: add Linux-specific tests for error checking
Bryan O'Sullivan <bryano@fb.com>
parents:
31010
diff
changeset
|
39 $ hg status >/dev/full |
ebaada96aec3
stdio: add Linux-specific tests for error checking
Bryan O'Sullivan <bryano@fb.com>
parents:
31010
diff
changeset
|
40 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
|
41 [255] |
34448
1f5bd3e1a7fe
test-basic: make test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents:
33426
diff
changeset
|
42 #endif |
31964
ebaada96aec3
stdio: add Linux-specific tests for error checking
Bryan O'Sullivan <bryano@fb.com>
parents:
31010
diff
changeset
|
43 |
35653
48fe4f56a3b4
dispatch: handle IOError when writing to stderr
Gregory Szorc <gregory.szorc@gmail.com>
parents:
35393
diff
changeset
|
44 #if devfull |
34448
1f5bd3e1a7fe
test-basic: make test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents:
33426
diff
changeset
|
45 $ hg status >/dev/full 2>&1 |
1f5bd3e1a7fe
test-basic: make test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents:
33426
diff
changeset
|
46 [255] |
1f5bd3e1a7fe
test-basic: make test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents:
33426
diff
changeset
|
47 |
1f5bd3e1a7fe
test-basic: make test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents:
33426
diff
changeset
|
48 $ hg status ENOENT 2>/dev/full |
1f5bd3e1a7fe
test-basic: make test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents:
33426
diff
changeset
|
49 [255] |
1f5bd3e1a7fe
test-basic: make test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents:
33426
diff
changeset
|
50 #endif |
1f5bd3e1a7fe
test-basic: make test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents:
33426
diff
changeset
|
51 |
12156
4c94b6d0fb1c
tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents:
11742
diff
changeset
|
52 $ hg commit -m test |
11742 | 53 |
54 This command is ancient: | |
331 | 55 |
11742 | 56 $ hg history |
12156
4c94b6d0fb1c
tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents:
11742
diff
changeset
|
57 changeset: 0:acb14030fe0a |
11742 | 58 tag: tip |
59 user: test | |
12156
4c94b6d0fb1c
tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents:
11742
diff
changeset
|
60 date: Thu Jan 01 00:00:00 1970 +0000 |
11742 | 61 summary: test |
62 | |
63 | |
13568
0b79cf616e65
commands.update() now works properly with a revision of 0
Mark Drago <markdrago@gmail.com>
parents:
12156
diff
changeset
|
64 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
|
65 |
0b79cf616e65
commands.update() now works properly with a revision of 0
Mark Drago <markdrago@gmail.com>
parents:
12156
diff
changeset
|
66 $ 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
|
67 > 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
|
68 > myui = uimod.ui.load() |
36638
159b04de5fb0
py3: make test-basic.t pass on Python 3
Yuya Nishihara <yuya@tcha.org>
parents:
36247
diff
changeset
|
69 > 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
|
70 > 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
|
71 > EOF |
0b79cf616e65
commands.update() now works properly with a revision of 0
Mark Drago <markdrago@gmail.com>
parents:
12156
diff
changeset
|
72 $ hg up null |
0b79cf616e65
commands.update() now works properly with a revision of 0
Mark Drago <markdrago@gmail.com>
parents:
12156
diff
changeset
|
73 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
|
74 $ "$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
|
75 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
|
76 $ hg identify -n |
0b79cf616e65
commands.update() now works properly with a revision of 0
Mark Drago <markdrago@gmail.com>
parents:
12156
diff
changeset
|
77 0 |
17346
2944a6d35158
check-code: fix check for trailing whitespace on empty lines
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
78 |
13568
0b79cf616e65
commands.update() now works properly with a revision of 0
Mark Drago <markdrago@gmail.com>
parents:
12156
diff
changeset
|
79 |
11742 | 80 Poke around at hashes: |
81 | |
82 $ hg manifest --debug | |
83 b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 644 a | |
84 | |
85 $ hg cat a | |
86 a | |
87 | |
88 Verify should succeed: | |
89 | |
90 $ hg verify | |
91 checking changesets | |
92 checking manifests | |
93 crosschecking files in changesets and manifests | |
94 checking files | |
39489
f1186c292d03
verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents:
38480
diff
changeset
|
95 checked 1 changesets with 1 changes to 1 files |
11742 | 96 |
36247
48a6b1a22ccf
templatekw: add {reporoot} keyword
Yuya Nishihara <yuya@tcha.org>
parents:
35653
diff
changeset
|
97 Repository root: |
48a6b1a22ccf
templatekw: add {reporoot} keyword
Yuya Nishihara <yuya@tcha.org>
parents:
35653
diff
changeset
|
98 |
48a6b1a22ccf
templatekw: add {reporoot} keyword
Yuya Nishihara <yuya@tcha.org>
parents:
35653
diff
changeset
|
99 $ hg root |
48a6b1a22ccf
templatekw: add {reporoot} keyword
Yuya Nishihara <yuya@tcha.org>
parents:
35653
diff
changeset
|
100 $TESTTMP/t |
48a6b1a22ccf
templatekw: add {reporoot} keyword
Yuya Nishihara <yuya@tcha.org>
parents:
35653
diff
changeset
|
101 $ hg log -l1 -T '{reporoot}\n' |
48a6b1a22ccf
templatekw: add {reporoot} keyword
Yuya Nishihara <yuya@tcha.org>
parents:
35653
diff
changeset
|
102 $TESTTMP/t |
42418
9803323048b6
root: add support for -Tformatter option
Yuya Nishihara <yuya@tcha.org>
parents:
40547
diff
changeset
|
103 $ hg root -Tjson | sed 's|\\\\|\\|g' |
9803323048b6
root: add support for -Tformatter option
Yuya Nishihara <yuya@tcha.org>
parents:
40547
diff
changeset
|
104 [ |
9803323048b6
root: add support for -Tformatter option
Yuya Nishihara <yuya@tcha.org>
parents:
40547
diff
changeset
|
105 { |
42419
69883775b27d
root: add template variables pointing to repository directories
Yuya Nishihara <yuya@tcha.org>
parents:
42418
diff
changeset
|
106 "hgpath": "$TESTTMP/t/.hg", |
69883775b27d
root: add template variables pointing to repository directories
Yuya Nishihara <yuya@tcha.org>
parents:
42418
diff
changeset
|
107 "reporoot": "$TESTTMP/t", |
69883775b27d
root: add template variables pointing to repository directories
Yuya Nishihara <yuya@tcha.org>
parents:
42418
diff
changeset
|
108 "storepath": "$TESTTMP/t/.hg/store" |
42418
9803323048b6
root: add support for -Tformatter option
Yuya Nishihara <yuya@tcha.org>
parents:
40547
diff
changeset
|
109 } |
9803323048b6
root: add support for -Tformatter option
Yuya Nishihara <yuya@tcha.org>
parents:
40547
diff
changeset
|
110 ] |
36247
48a6b1a22ccf
templatekw: add {reporoot} keyword
Yuya Nishihara <yuya@tcha.org>
parents:
35653
diff
changeset
|
111 |
11742 | 112 At the end... |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
13956
diff
changeset
|
113 |
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
13956
diff
changeset
|
114 $ cd .. |
40547
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 Status message redirection: |
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 $ hg init empty |
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 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
|
121 |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
122 $ 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
|
123 comparing with empty |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
124 searching for changes |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
125 [ |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
126 { |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
127 "bookmarks": [], |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
128 "branch": "default", |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
129 "date": [0, 0], |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
130 "desc": "test", |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
131 "node": "acb14030fe0a21b60322c440ad2d20cf7685a376", |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
132 "parents": ["0000000000000000000000000000000000000000"], |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
133 "phase": "draft", |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
134 "rev": 0, |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
135 "tags": ["tip"], |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
136 "user": "test" |
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 ] |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
139 |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
140 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
|
141 interleaved: |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
142 |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
143 $ cat <<'EOF' >> "$HGRCPATH" |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
144 > [ui] |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
145 > message-output = stderr |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
146 > EOF |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
147 $ 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
|
148 [ |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
149 { |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
150 "bookmarks": [], |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
151 "branch": "default", |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
152 "date": [0, 0], |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
153 "desc": "test", |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
154 "node": "acb14030fe0a21b60322c440ad2d20cf7685a376", |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
155 "parents": ["0000000000000000000000000000000000000000"], |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
156 "phase": "draft", |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
157 "rev": 0, |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
158 "tags": ["tip"], |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
159 "user": "test" |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
160 } |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
161 ] |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
162 $ 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
|
163 comparing with empty |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
164 searching for changes |
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 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
|
167 |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
168 $ 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
|
169 comparing with empty |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
170 searching for changes |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
171 [ |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
172 { |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
173 "bookmarks": [], |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
174 "branch": "default", |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
175 "date": [0, 0], |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
176 "desc": "test", |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
177 "node": "acb14030fe0a21b60322c440ad2d20cf7685a376", |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
178 "parents": ["0000000000000000000000000000000000000000"], |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
179 "phase": "draft", |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
180 "rev": 0, |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
181 "tags": ["tip"], |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
182 "user": "test" |
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 ] |
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 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
|
187 |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
188 $ 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
|
189 > 2>/dev/null |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
190 [ |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
191 { |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
192 "bookmarks": [], |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
193 "branch": "default", |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
194 "date": [0, 0], |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
195 "desc": "test", |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
196 "node": "acb14030fe0a21b60322c440ad2d20cf7685a376", |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
197 "parents": ["0000000000000000000000000000000000000000"], |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
198 "phase": "draft", |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
199 "rev": 0, |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
200 "tags": ["tip"], |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
201 "user": "test" |
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 ] |
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 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
|
206 |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
207 $ 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
|
208 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
|
209 [255] |
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 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
|
212 |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
213 $ 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
|
214 > 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
|
215 > cmdtable = {} |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
216 > 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
|
217 > @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
|
218 > def capui(ui): |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
219 > out = ui.fout |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
220 > 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
|
221 > 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
|
222 > 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
|
223 > 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
|
224 > 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
|
225 > 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
|
226 > EOF |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
227 $ 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
|
228 stdout: status |
840cd57cde32
ui: add config knob to redirect status messages to stderr (API)
Yuya Nishihara <yuya@tcha.org>
parents:
40470
diff
changeset
|
229 stderr: warn |