##// END OF EJS Templates
convert: test for shell injection in git calls (SEC)...
convert: test for shell injection in git calls (SEC) CVE-2016-3069 (5/5) Before recent refactoring we were not escaping calls to git at all which made such injections possible. Let's have a test for that to avoid this problem in the future. Reported by Blake Burkhart.

File last commit:

r28384:3356bf61 default
r28663:ae279d4a 3.7.3 stable
Show More
test-status-color.t
355 lines | 12.3 KiB | text/troff | Tads3Lexer
/ tests / test-status-color.t
Yuya Nishihara
tests: write hgrc of more than two lines by using shell heredoc...
r23172 $ cat <<EOF >> $HGRCPATH
> [extensions]
> color =
> [color]
> mode = ansi
> EOF
Patrick Mezard
test-status-color: fix terminfo code compatibility problem...
r13997 Terminfo codes compatibility fix
$ echo "color.none=0" >> $HGRCPATH
Nicolas Dumazet
tests: unify test-status-color
r11783
$ hg init repo1
$ cd repo1
$ mkdir a b a/1 b/1 b/2
$ touch in_root a/in_a b/in_b a/1/in_a_1 b/1/in_b_1 b/2/in_b_2
hg status in repo root:
$ hg status --color=always
Matt Mackall
status: use condwrite to avoid zero-width format string hack
r17910 \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4ma/1/in_a_1\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4ma/in_a\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/1/in_b_1\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/2/in_b_2\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/in_b\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4min_root\x1b[0m (esc)
Nicolas Dumazet
tests: unify test-status-color
r11783
Jordi Gutiérrez Hermoso
color: enable debug option to show labels...
r22463 $ hg status --color=debug
Matt Mackall
color: change the debug output format...
r22464 [status.unknown|? ][status.unknown|a/1/in_a_1]
[status.unknown|? ][status.unknown|a/in_a]
[status.unknown|? ][status.unknown|b/1/in_b_1]
[status.unknown|? ][status.unknown|b/2/in_b_2]
[status.unknown|? ][status.unknown|b/in_b]
[status.unknown|? ][status.unknown|in_root]
Jordi Gutiérrez Hermoso
color: enable debug option to show labels...
r22463
Nicolas Dumazet
tests: unify test-status-color
r11783 hg status . in repo root:
$ hg status --color=always .
Matt Mackall
status: use condwrite to avoid zero-width format string hack
r17910 \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4ma/1/in_a_1\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4ma/in_a\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/1/in_b_1\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/2/in_b_2\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/in_b\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4min_root\x1b[0m (esc)
Nicolas Dumazet
tests: unify test-status-color
r11783
$ hg status --color=always --cwd a
Matt Mackall
status: use condwrite to avoid zero-width format string hack
r17910 \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4ma/1/in_a_1\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4ma/in_a\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/1/in_b_1\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/2/in_b_2\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/in_b\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4min_root\x1b[0m (esc)
Nicolas Dumazet
tests: unify test-status-color
r11783 $ hg status --color=always --cwd a .
Matt Mackall
status: use condwrite to avoid zero-width format string hack
r17910 \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4m1/in_a_1\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4min_a\x1b[0m (esc)
Nicolas Dumazet
tests: unify test-status-color
r11783 $ hg status --color=always --cwd a ..
Matt Mackall
status: use condwrite to avoid zero-width format string hack
r17910 \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4m1/in_a_1\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4min_a\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4m../b/1/in_b_1\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4m../b/2/in_b_2\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4m../b/in_b\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4m../in_root\x1b[0m (esc)
Nicolas Dumazet
tests: unify test-status-color
r11783
$ hg status --color=always --cwd b
Matt Mackall
status: use condwrite to avoid zero-width format string hack
r17910 \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4ma/1/in_a_1\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4ma/in_a\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/1/in_b_1\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/2/in_b_2\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/in_b\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4min_root\x1b[0m (esc)
Nicolas Dumazet
tests: unify test-status-color
r11783 $ hg status --color=always --cwd b .
Matt Mackall
status: use condwrite to avoid zero-width format string hack
r17910 \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4m1/in_b_1\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4m2/in_b_2\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4min_b\x1b[0m (esc)
Nicolas Dumazet
tests: unify test-status-color
r11783 $ hg status --color=always --cwd b ..
Matt Mackall
status: use condwrite to avoid zero-width format string hack
r17910 \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4m../a/1/in_a_1\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4m../a/in_a\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4m1/in_b_1\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4m2/in_b_2\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4min_b\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4m../in_root\x1b[0m (esc)
Nicolas Dumazet
tests: unify test-status-color
r11783
$ hg status --color=always --cwd a/1
Matt Mackall
status: use condwrite to avoid zero-width format string hack
r17910 \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4ma/1/in_a_1\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4ma/in_a\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/1/in_b_1\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/2/in_b_2\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/in_b\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4min_root\x1b[0m (esc)
Nicolas Dumazet
tests: unify test-status-color
r11783 $ hg status --color=always --cwd a/1 .
Matt Mackall
status: use condwrite to avoid zero-width format string hack
r17910 \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4min_a_1\x1b[0m (esc)
Nicolas Dumazet
tests: unify test-status-color
r11783 $ hg status --color=always --cwd a/1 ..
Matt Mackall
status: use condwrite to avoid zero-width format string hack
r17910 \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4min_a_1\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4m../in_a\x1b[0m (esc)
Nicolas Dumazet
tests: unify test-status-color
r11783
$ hg status --color=always --cwd b/1
Matt Mackall
status: use condwrite to avoid zero-width format string hack
r17910 \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4ma/1/in_a_1\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4ma/in_a\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/1/in_b_1\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/2/in_b_2\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/in_b\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4min_root\x1b[0m (esc)
Nicolas Dumazet
tests: unify test-status-color
r11783 $ hg status --color=always --cwd b/1 .
Matt Mackall
status: use condwrite to avoid zero-width format string hack
r17910 \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4min_b_1\x1b[0m (esc)
Nicolas Dumazet
tests: unify test-status-color
r11783 $ hg status --color=always --cwd b/1 ..
Matt Mackall
status: use condwrite to avoid zero-width format string hack
r17910 \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4min_b_1\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4m../2/in_b_2\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4m../in_b\x1b[0m (esc)
Nicolas Dumazet
tests: unify test-status-color
r11783
$ hg status --color=always --cwd b/2
Matt Mackall
status: use condwrite to avoid zero-width format string hack
r17910 \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4ma/1/in_a_1\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4ma/in_a\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/1/in_b_1\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/2/in_b_2\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4mb/in_b\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4min_root\x1b[0m (esc)
Nicolas Dumazet
tests: unify test-status-color
r11783 $ hg status --color=always --cwd b/2 .
Matt Mackall
status: use condwrite to avoid zero-width format string hack
r17910 \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4min_b_2\x1b[0m (esc)
Nicolas Dumazet
tests: unify test-status-color
r11783 $ hg status --color=always --cwd b/2 ..
Matt Mackall
status: use condwrite to avoid zero-width format string hack
r17910 \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4m../1/in_b_1\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4min_b_2\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4m../in_b\x1b[0m (esc)
Siddharth Agarwal
color: set _colormode to None when mode is unset (issue3895)...
r19073
Make sure --color=never works
$ hg status --color=never
? a/1/in_a_1
? a/in_a
? b/1/in_b_1
? b/2/in_b_2
? b/in_b
? in_root
Siddharth Agarwal
color: add a test with extension loaded and ui.formatted=False
r19074 Make sure ui.formatted=False works
$ hg status --config ui.formatted=False
? a/1/in_a_1
? a/in_a
? b/1/in_b_1
? b/2/in_b_2
? b/in_b
? in_root
Nicolas Dumazet
tests: unify test-status-color
r11783 $ cd ..
$ hg init repo2
$ cd repo2
$ touch modified removed deleted ignored
$ echo "^ignored$" > .hgignore
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg ci -A -m 'initial checkin'
Nicolas Dumazet
tests: unify test-status-color
r11783 adding .hgignore
adding deleted
adding modified
adding removed
Jordi Gutiérrez Hermoso
color: enable debug option to show labels...
r22463 $ hg log --color=debug
Matt Mackall
color: change the debug output format...
r22464 [log.changeset changeset.draft|changeset: 0:389aef86a55e]
[log.tag|tag: tip]
[log.user|user: test]
[log.date|date: Thu Jan 01 00:00:00 1970 +0000]
[log.summary|summary: initial checkin]
Jordi Gutiérrez Hermoso
color: enable debug option to show labels...
r22463
Jordi Gutiérrez Hermoso
color: omit debug label output on empty strings...
r22763 Labels on empty strings should not be displayed, labels on custom
templates should be.
$ hg log --color=debug -T '{label("my.label",author)}\n{label("skipped.label","")}'
[my.label|test]
Nicolas Dumazet
tests: unify test-status-color
r11783 $ touch modified added unknown ignored
$ hg add added
$ hg remove removed
$ rm deleted
hg status:
$ hg status --color=always
Matt Mackall
status: use condwrite to avoid zero-width format string hack
r17910 \x1b[0;32;1mA \x1b[0m\x1b[0;32;1madded\x1b[0m (esc)
\x1b[0;31;1mR \x1b[0m\x1b[0;31;1mremoved\x1b[0m (esc)
\x1b[0;36;1;4m! \x1b[0m\x1b[0;36;1;4mdeleted\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4munknown\x1b[0m (esc)
Nicolas Dumazet
tests: unify test-status-color
r11783
hg status modified added removed deleted unknown never-existed ignored:
$ hg status --color=always modified added removed deleted unknown never-existed ignored
Mads Kiilerich
tests: hide 'No such file or directory' messages...
r15521 never-existed: * (glob)
Matt Mackall
status: use condwrite to avoid zero-width format string hack
r17910 \x1b[0;32;1mA \x1b[0m\x1b[0;32;1madded\x1b[0m (esc)
\x1b[0;31;1mR \x1b[0m\x1b[0;31;1mremoved\x1b[0m (esc)
\x1b[0;36;1;4m! \x1b[0m\x1b[0;36;1;4mdeleted\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4munknown\x1b[0m (esc)
Nicolas Dumazet
tests: unify test-status-color
r11783
$ hg copy modified copied
hg status -C:
$ hg status --color=always -C
Matt Mackall
status: use condwrite to avoid zero-width format string hack
r17910 \x1b[0;32;1mA \x1b[0m\x1b[0;32;1madded\x1b[0m (esc)
\x1b[0;32;1mA \x1b[0m\x1b[0;32;1mcopied\x1b[0m (esc)
Mads Kiilerich
tests: use (esc) for all non-ASCII test output
r12942 \x1b[0;0m modified\x1b[0m (esc)
Matt Mackall
status: use condwrite to avoid zero-width format string hack
r17910 \x1b[0;31;1mR \x1b[0m\x1b[0;31;1mremoved\x1b[0m (esc)
\x1b[0;36;1;4m! \x1b[0m\x1b[0;36;1;4mdeleted\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4munknown\x1b[0m (esc)
Nicolas Dumazet
tests: unify test-status-color
r11783
hg status -A:
$ hg status --color=always -A
Matt Mackall
status: use condwrite to avoid zero-width format string hack
r17910 \x1b[0;32;1mA \x1b[0m\x1b[0;32;1madded\x1b[0m (esc)
\x1b[0;32;1mA \x1b[0m\x1b[0;32;1mcopied\x1b[0m (esc)
Mads Kiilerich
tests: use (esc) for all non-ASCII test output
r12942 \x1b[0;0m modified\x1b[0m (esc)
Matt Mackall
status: use condwrite to avoid zero-width format string hack
r17910 \x1b[0;31;1mR \x1b[0m\x1b[0;31;1mremoved\x1b[0m (esc)
\x1b[0;36;1;4m! \x1b[0m\x1b[0;36;1;4mdeleted\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4munknown\x1b[0m (esc)
\x1b[0;30;1mI \x1b[0m\x1b[0;30;1mignored\x1b[0m (esc)
\x1b[0;0mC \x1b[0m\x1b[0;0m.hgignore\x1b[0m (esc)
\x1b[0;0mC \x1b[0m\x1b[0;0mmodified\x1b[0m (esc)
Nicolas Dumazet
tests: unify test-status-color
r11783
Mads Kiilerich
tests: use small conditional section for tic requirement in test-status-color.t...
r20387
Danek Duvall
color: add support for terminfo-based attributes and color...
r13987 hg status -A (with terminfo color):
Mads Kiilerich
tests: use small conditional section for tic requirement in test-status-color.t...
r20387 #if tic
Thomas Arendsen Hein
tests: make tests work if directory contains special characters...
r16350 $ mkdir "$TESTTMP/terminfo"
$ TERMINFO="$TESTTMP/terminfo" tic "$TESTDIR/hgterm.ti"
$ TERM=hgterm TERMINFO="$TESTTMP/terminfo" hg status --config color.mode=terminfo --color=always -A
Matt Mackall
status: use condwrite to avoid zero-width format string hack
r17910 \x1b[30m\x1b[32m\x1b[1mA \x1b[30m\x1b[30m\x1b[32m\x1b[1madded\x1b[30m (esc)
\x1b[30m\x1b[32m\x1b[1mA \x1b[30m\x1b[30m\x1b[32m\x1b[1mcopied\x1b[30m (esc)
Patrick Mezard
test-status-color: fix terminfo code compatibility problem...
r13997 \x1b[30m\x1b[30m modified\x1b[30m (esc)
Matt Mackall
status: use condwrite to avoid zero-width format string hack
r17910 \x1b[30m\x1b[31m\x1b[1mR \x1b[30m\x1b[30m\x1b[31m\x1b[1mremoved\x1b[30m (esc)
\x1b[30m\x1b[36m\x1b[1m\x1b[4m! \x1b[30m\x1b[30m\x1b[36m\x1b[1m\x1b[4mdeleted\x1b[30m (esc)
\x1b[30m\x1b[35m\x1b[1m\x1b[4m? \x1b[30m\x1b[30m\x1b[35m\x1b[1m\x1b[4munknown\x1b[30m (esc)
\x1b[30m\x1b[30m\x1b[1mI \x1b[30m\x1b[30m\x1b[30m\x1b[1mignored\x1b[30m (esc)
\x1b[30m\x1b[30mC \x1b[30m\x1b[30m\x1b[30m.hgignore\x1b[30m (esc)
\x1b[30m\x1b[30mC \x1b[30m\x1b[30m\x1b[30mmodified\x1b[30m (esc)
Danek Duvall
color: add support for terminfo-based attributes and color...
r13987
Mads Kiilerich
tests: use small conditional section for tic requirement in test-status-color.t...
r20387 #endif
Nicolas Dumazet
tests: unify test-status-color
r11783
$ echo "^ignoreddir$" > .hgignore
$ mkdir ignoreddir
$ touch ignoreddir/file
hg status ignoreddir/file:
$ hg status --color=always ignoreddir/file
hg status -i ignoreddir/file:
$ hg status --color=always -i ignoreddir/file
Matt Mackall
status: use condwrite to avoid zero-width format string hack
r17910 \x1b[0;30;1mI \x1b[0m\x1b[0;30;1mignoreddir/file\x1b[0m (esc)
Nicolas Dumazet
tests: unify test-status-color
r11783 $ cd ..
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 check 'status -q' and some combinations
Nicolas Dumazet
tests: unify test-status-color
r11783
$ hg init repo3
$ cd repo3
$ touch modified removed deleted ignored
$ echo "^ignored$" > .hgignore
$ hg commit -A -m 'initial checkin'
adding .hgignore
adding deleted
adding modified
adding removed
$ touch added unknown ignored
$ hg add added
$ echo "test" >> modified
$ hg remove removed
$ rm deleted
$ hg copy modified copied
test unknown color
$ hg --config color.status.modified=periwinkle status --color=always
ignoring unknown color/effect 'periwinkle' (configured in color.status.modified)
M modified
Matt Mackall
status: use condwrite to avoid zero-width format string hack
r17910 \x1b[0;32;1mA \x1b[0m\x1b[0;32;1madded\x1b[0m (esc)
\x1b[0;32;1mA \x1b[0m\x1b[0;32;1mcopied\x1b[0m (esc)
\x1b[0;31;1mR \x1b[0m\x1b[0;31;1mremoved\x1b[0m (esc)
\x1b[0;36;1;4m! \x1b[0m\x1b[0;36;1;4mdeleted\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4munknown\x1b[0m (esc)
Nicolas Dumazet
tests: unify test-status-color
r11783
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 Run status with 2 different flags.
Check if result is the same or different.
If result is not as expected, raise error
Nicolas Dumazet
tests: unify test-status-color
r11783 $ assert() {
> hg status --color=always $1 > ../a
> hg status --color=always $2 > ../b
Matt Mackall
tests: cleanup exit code handling in unified tests
r12365 > if diff ../a ../b > /dev/null; then
> out=0
> else
Nicolas Dumazet
tests: unify test-status-color
r11783 > out=1
> fi
> if [ $3 -eq 0 ]; then
> df="same"
> else
> df="different"
> fi
> if [ $out -ne $3 ]; then
> echo "Error on $1 and $2, should be $df."
> fi
> }
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 assert flag1 flag2 [0-same | 1-different]
Nicolas Dumazet
tests: unify test-status-color
r11783
$ assert "-q" "-mard" 0
$ assert "-A" "-marduicC" 0
$ assert "-qA" "-mardcC" 0
$ assert "-qAui" "-A" 0
$ assert "-qAu" "-marducC" 0
$ assert "-qAi" "-mardicC" 0
$ assert "-qu" "-u" 0
$ assert "-q" "-u" 1
$ assert "-m" "-a" 1
$ assert "-r" "-d" 1
$ cd ..
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 test 'resolve -l'
Nicolas Dumazet
tests: unify test-status-color
r11783 $ hg init repo4
$ cd repo4
$ echo "file a" > a
$ echo "file b" > b
$ hg add a b
$ hg commit -m "initial"
$ echo "file a change 1" > a
$ echo "file b change 1" > b
$ hg commit -m "head 1"
$ hg update 0
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ echo "file a change 2" > a
$ echo "file b change 2" > b
$ hg commit -m "head 2"
created new head
$ hg merge
merging a
Siddharth Agarwal
merge.mergestate: perform all premerges before any merges (BC)...
r26618 merging b
Siddharth Agarwal
simplemerge: move conflict warning message to filemerge...
r26614 warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
warning: conflicts while merging b! (edit, then use 'hg resolve --mark')
Nicolas Dumazet
tests: unify test-status-color
r11783 0 files updated, 0 files merged, 0 files removed, 2 files unresolved
Brodie Rao
merge: suggest 'hg up -C .' for discarding changes, not 'hg up -C'...
r12314 use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
Matt Mackall
tests: add exit codes to unified tests
r12316 [1]
Nicolas Dumazet
tests: unify test-status-color
r11783 $ hg resolve -m b
hg resolve with one unresolved, one resolved:
$ hg resolve --color=always -l
Yuya Nishihara
resolve: port to generic templater...
r24127 \x1b[0;31;1mU \x1b[0m\x1b[0;31;1ma\x1b[0m (esc)
\x1b[0;32;1mR \x1b[0m\x1b[0;32;1mb\x1b[0m (esc)
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
Mads Kiilerich
color: don't fail on error messages when no curses (issue4237)...
r21227 color coding of error message with current availability of curses
$ hg unknowncommand > /dev/null
hg: unknown command 'unknowncommand'
[255]
color coding of error message without curses
$ echo 'raise ImportError' > curses.py
$ PYTHONPATH=`pwd`:$PYTHONPATH hg unknowncommand > /dev/null
hg: unknown command 'unknowncommand'
[255]
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913 $ cd ..