test-status-color.t
407 lines
| 14.3 KiB
| text/troff
|
Tads3Lexer
/ tests / test-status-color.t
|
r23172 | $ cat <<EOF >> $HGRCPATH | ||
|
r31110 | > [ui] | ||
> color = always | ||||
|
r23172 | > [color] | ||
> mode = ansi | ||||
> EOF | ||||
|
r13997 | Terminfo codes compatibility fix | ||
$ echo "color.none=0" >> $HGRCPATH | ||||
|
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: | ||||
|
r31110 | $ hg status | ||
|
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) | ||||
|
r11783 | |||
|
r22463 | $ hg status --color=debug | ||
|
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] | ||||
|
r35176 | HGPLAIN disables color | ||
$ HGPLAIN=1 hg status --color=debug | ||||
|
r35206 | ? a/1/in_a_1 (glob) | ||
? a/in_a (glob) | ||||
? b/1/in_b_1 (glob) | ||||
? b/2/in_b_2 (glob) | ||||
? b/in_b (glob) | ||||
|
r35176 | ? in_root | ||
HGPLAINEXCEPT=color does not disable color | ||||
$ HGPLAINEXCEPT=color hg status --color=debug | ||||
|
r35206 | [status.unknown|? ][status.unknown|a/1/in_a_1] (glob) | ||
[status.unknown|? ][status.unknown|a/in_a] (glob) | ||||
[status.unknown|? ][status.unknown|b/1/in_b_1] (glob) | ||||
[status.unknown|? ][status.unknown|b/2/in_b_2] (glob) | ||||
[status.unknown|? ][status.unknown|b/in_b] (glob) | ||||
|
r35176 | [status.unknown|? ][status.unknown|in_root] | ||
|
r22463 | |||
|
r28384 | hg status with template | ||
$ hg status -T "{label('red', path)}\n" --color=debug | ||||
[red|a/1/in_a_1] | ||||
[red|a/in_a] | ||||
[red|b/1/in_b_1] | ||||
[red|b/2/in_b_2] | ||||
[red|b/in_b] | ||||
[red|in_root] | ||||
|
r11783 | hg status . in repo root: | ||
|
r31110 | $ hg status . | ||
|
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) | ||||
|
r11783 | |||
|
r31110 | $ hg status --cwd a | ||
|
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) | ||||
|
r31110 | $ hg status --cwd a . | ||
|
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) | ||||
|
r31110 | $ hg status --cwd a .. | ||
|
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) | ||||
|
r11783 | |||
|
r31110 | $ hg status --cwd b | ||
|
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) | ||||
|
r31110 | $ hg status --cwd b . | ||
|
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) | ||||
|
r31110 | $ hg status --cwd b .. | ||
|
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) | ||||
|
r11783 | |||
|
r31110 | $ hg status --cwd a/1 | ||
|
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) | ||||
|
r31110 | $ hg status --cwd a/1 . | ||
|
r17910 | \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4min_a_1\x1b[0m (esc) | ||
|
r31110 | $ hg status --cwd a/1 .. | ||
|
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) | ||||
|
r11783 | |||
|
r31110 | $ hg status --cwd b/1 | ||
|
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) | ||||
|
r31110 | $ hg status --cwd b/1 . | ||
|
r17910 | \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4min_b_1\x1b[0m (esc) | ||
|
r31110 | $ hg status --cwd b/1 .. | ||
|
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) | ||||
|
r11783 | |||
|
r31110 | $ hg status --cwd b/2 | ||
|
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) | ||||
|
r31110 | $ hg status --cwd b/2 . | ||
|
r17910 | \x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4min_b_2\x1b[0m (esc) | ||
|
r31110 | $ hg status --cwd b/2 .. | ||
|
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) | ||||
|
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 | ||||
|
r19074 | Make sure ui.formatted=False works | ||
|
r31110 | $ hg status --color=auto --config ui.formatted=False | ||
|
r19074 | ? a/1/in_a_1 | ||
? a/in_a | ||||
? b/1/in_b_1 | ||||
? b/2/in_b_2 | ||||
? b/in_b | ||||
? in_root | ||||
|
r11783 | $ cd .. | ||
$ hg init repo2 | ||||
$ cd repo2 | ||||
$ touch modified removed deleted ignored | ||||
$ echo "^ignored$" > .hgignore | ||||
|
r12156 | $ hg ci -A -m 'initial checkin' | ||
|
r39126 | \x1b[0;32madding .hgignore\x1b[0m (esc) | ||
\x1b[0;32madding deleted\x1b[0m (esc) | ||||
\x1b[0;32madding modified\x1b[0m (esc) | ||||
\x1b[0;32madding removed\x1b[0m (esc) | ||||
|
r22463 | $ hg log --color=debug | ||
|
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] | ||||
|
r22463 | |||
|
r28827 | $ hg log -Tcompact --color=debug | ||
[log.changeset changeset.draft|0][tip] [log.node|389aef86a55e] [log.date|1970-01-01 00:00 +0000] [log.user|test] | ||||
[ui.note log.description|initial checkin] | ||||
|
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] | ||||
|
r11783 | $ touch modified added unknown ignored | ||
$ hg add added | ||||
$ hg remove removed | ||||
$ rm deleted | ||||
hg status: | ||||
|
r31110 | $ hg status | ||
|
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) | ||||
|
r11783 | |||
hg status modified added removed deleted unknown never-existed ignored: | ||||
|
r31110 | $ hg status modified added removed deleted unknown never-existed ignored | ||
|
r15521 | never-existed: * (glob) | ||
|
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) | ||||
|
r11783 | |||
$ hg copy modified copied | ||||
hg status -C: | ||||
|
r31110 | $ hg status -C | ||
|
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) | ||||
|
r12942 | \x1b[0;0m modified\x1b[0m (esc) | ||
|
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) | ||||
|
r11783 | |||
hg status -A: | ||||
|
r31110 | $ hg status -A | ||
|
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) | ||||
|
r12942 | \x1b[0;0m modified\x1b[0m (esc) | ||
|
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) | ||||
|
r11783 | |||
|
r20387 | |||
|
r13987 | hg status -A (with terminfo color): | ||
|
r20387 | #if tic | ||
|
r40133 | $ tic -o "$TESTTMP/terminfo" "$TESTDIR/hgterm.ti" | ||
$ ln -s "$TESTTMP/terminfo" "$TESTTMP/terminfo.cdb" | ||||
|
r31110 | $ TERM=hgterm TERMINFO="$TESTTMP/terminfo" hg status --config color.mode=terminfo -A | ||
|
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) | ||||
|
r13997 | \x1b[30m\x1b[30m modified\x1b[30m (esc) | ||
|
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) | ||||
|
r13987 | |||
|
r30173 | The user can define effects with raw terminfo codes: | ||
$ cat <<EOF >> $HGRCPATH | ||||
> # Completely bogus code for dim | ||||
> terminfo.dim = \E[88m | ||||
> # We can override what's in the terminfo database, too | ||||
> terminfo.bold = \E[2m | ||||
> EOF | ||||
|
r31110 | $ TERM=hgterm TERMINFO="$TESTTMP/terminfo" hg status --config color.mode=terminfo --config color.status.clean=dim -A | ||
|
r30173 | \x1b[30m\x1b[32m\x1b[2mA \x1b[30m\x1b[30m\x1b[32m\x1b[2madded\x1b[30m (esc) | ||
\x1b[30m\x1b[32m\x1b[2mA \x1b[30m\x1b[30m\x1b[32m\x1b[2mcopied\x1b[30m (esc) | ||||
\x1b[30m\x1b[30m modified\x1b[30m (esc) | ||||
\x1b[30m\x1b[31m\x1b[2mR \x1b[30m\x1b[30m\x1b[31m\x1b[2mremoved\x1b[30m (esc) | ||||
\x1b[30m\x1b[36m\x1b[2m\x1b[4m! \x1b[30m\x1b[30m\x1b[36m\x1b[2m\x1b[4mdeleted\x1b[30m (esc) | ||||
\x1b[30m\x1b[35m\x1b[2m\x1b[4m? \x1b[30m\x1b[30m\x1b[35m\x1b[2m\x1b[4munknown\x1b[30m (esc) | ||||
\x1b[30m\x1b[30m\x1b[2mI \x1b[30m\x1b[30m\x1b[30m\x1b[2mignored\x1b[30m (esc) | ||||
\x1b[30m\x1b[88mC \x1b[30m\x1b[30m\x1b[88m.hgignore\x1b[30m (esc) | ||||
\x1b[30m\x1b[88mC \x1b[30m\x1b[30m\x1b[88mmodified\x1b[30m (esc) | ||||
|
r20387 | #endif | ||
|
r11783 | |||
$ echo "^ignoreddir$" > .hgignore | ||||
$ mkdir ignoreddir | ||||
$ touch ignoreddir/file | ||||
hg status ignoreddir/file: | ||||
|
r31110 | $ hg status ignoreddir/file | ||
|
r11783 | |||
hg status -i ignoreddir/file: | ||||
|
r31110 | $ hg status -i ignoreddir/file | ||
|
r17910 | \x1b[0;30;1mI \x1b[0m\x1b[0;30;1mignoreddir/file\x1b[0m (esc) | ||
|
r11783 | $ cd .. | ||
|
r12328 | check 'status -q' and some combinations | ||
|
r11783 | |||
$ hg init repo3 | ||||
$ cd repo3 | ||||
$ touch modified removed deleted ignored | ||||
$ echo "^ignored$" > .hgignore | ||||
$ hg commit -A -m 'initial checkin' | ||||
|
r39126 | \x1b[0;32madding .hgignore\x1b[0m (esc) | ||
\x1b[0;32madding deleted\x1b[0m (esc) | ||||
\x1b[0;32madding modified\x1b[0m (esc) | ||||
\x1b[0;32madding removed\x1b[0m (esc) | ||||
|
r11783 | $ touch added unknown ignored | ||
$ hg add added | ||||
$ echo "test" >> modified | ||||
$ hg remove removed | ||||
$ rm deleted | ||||
$ hg copy modified copied | ||||
test unknown color | ||||
|
r31110 | $ hg --config color.status.modified=periwinkle status | ||
|
r11783 | ignoring unknown color/effect 'periwinkle' (configured in color.status.modified) | ||
|
r31105 | ignoring unknown color/effect 'periwinkle' (configured in color.status.modified) | ||
|
r31111 | ignoring unknown color/effect 'periwinkle' (configured in color.status.modified) | ||
|
r11783 | M modified | ||
|
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) | ||||
|
r11783 | |||
|
r12328 | Run status with 2 different flags. | ||
Check if result is the same or different. | ||||
If result is not as expected, raise error | ||||
|
r11783 | $ assert() { | ||
|
r31110 | > hg status $1 > ../a | ||
> hg status $2 > ../b | ||||
|
r12365 | > if diff ../a ../b > /dev/null; then | ||
> out=0 | ||||
> else | ||||
|
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 | ||||
> } | ||||
|
r12328 | assert flag1 flag2 [0-same | 1-different] | ||
|
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 .. | ||||
|
r12328 | test 'resolve -l' | ||
|
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 | ||||
|
r26618 | merging b | ||
|
r26614 | warning: conflicts while merging a! (edit, then use 'hg resolve --mark') | ||
warning: conflicts while merging b! (edit, then use 'hg resolve --mark') | ||||
|
r11783 | 0 files updated, 0 files merged, 0 files removed, 2 files unresolved | ||
|
r35722 | use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon | ||
|
r12316 | [1] | ||
|
r11783 | $ hg resolve -m b | ||
hg resolve with one unresolved, one resolved: | ||||
|
r31110 | $ hg resolve -l | ||
|
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) | ||||
|
r16913 | |||
|
r21227 | color coding of error message with current availability of curses | ||
$ hg unknowncommand > /dev/null | ||||
hg: unknown command 'unknowncommand' | ||||
|
r38823 | (use 'hg help' for a list of commands) | ||
|
r46888 | [10] | ||
|
r21227 | |||
color coding of error message without curses | ||||
$ echo 'raise ImportError' > curses.py | ||||
$ PYTHONPATH=`pwd`:$PYTHONPATH hg unknowncommand > /dev/null | ||||
hg: unknown command 'unknowncommand' | ||||
|
r38823 | (use 'hg help' for a list of commands) | ||
|
r46888 | [10] | ||
|
r21227 | |||
|
r16913 | $ cd .. | ||