test-status-color.t
298 lines
| 8.8 KiB
| text/troff
|
Tads3Lexer
/ tests / test-status-color.t
Mads Kiilerich
|
r15539 | $ "$TESTDIR/hghave" tic || exit 80 | ||
Nicolas Dumazet
|
r11783 | $ echo "[extensions]" >> $HGRCPATH | ||
$ echo "color=" >> $HGRCPATH | ||||
$ echo "[color]" >> $HGRCPATH | ||||
$ echo "mode=ansi" >> $HGRCPATH | ||||
Patrick Mezard
|
r13997 | Terminfo codes compatibility fix | ||
$ echo "color.none=0" >> $HGRCPATH | ||||
Nicolas Dumazet
|
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 | ||||
Mads Kiilerich
|
r12942 | \x1b[0;35;1;4m? a/1/in_a_1\x1b[0m (esc) | ||
\x1b[0;35;1;4m? a/in_a\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? b/1/in_b_1\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? b/2/in_b_2\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? b/in_b\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? in_root\x1b[0m (esc) | ||||
Nicolas Dumazet
|
r11783 | |||
hg status . in repo root: | ||||
$ hg status --color=always . | ||||
Mads Kiilerich
|
r12942 | \x1b[0;35;1;4m? a/1/in_a_1\x1b[0m (esc) | ||
\x1b[0;35;1;4m? a/in_a\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? b/1/in_b_1\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? b/2/in_b_2\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? b/in_b\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? in_root\x1b[0m (esc) | ||||
Nicolas Dumazet
|
r11783 | |||
$ hg status --color=always --cwd a | ||||
Mads Kiilerich
|
r12942 | \x1b[0;35;1;4m? a/1/in_a_1\x1b[0m (esc) | ||
\x1b[0;35;1;4m? a/in_a\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? b/1/in_b_1\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? b/2/in_b_2\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? b/in_b\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? in_root\x1b[0m (esc) | ||||
Nicolas Dumazet
|
r11783 | $ hg status --color=always --cwd a . | ||
Mads Kiilerich
|
r12942 | \x1b[0;35;1;4m? 1/in_a_1\x1b[0m (esc) | ||
\x1b[0;35;1;4m? in_a\x1b[0m (esc) | ||||
Nicolas Dumazet
|
r11783 | $ hg status --color=always --cwd a .. | ||
Mads Kiilerich
|
r12942 | \x1b[0;35;1;4m? 1/in_a_1\x1b[0m (esc) | ||
\x1b[0;35;1;4m? in_a\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? ../b/1/in_b_1\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? ../b/2/in_b_2\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? ../b/in_b\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? ../in_root\x1b[0m (esc) | ||||
Nicolas Dumazet
|
r11783 | |||
$ hg status --color=always --cwd b | ||||
Mads Kiilerich
|
r12942 | \x1b[0;35;1;4m? a/1/in_a_1\x1b[0m (esc) | ||
\x1b[0;35;1;4m? a/in_a\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? b/1/in_b_1\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? b/2/in_b_2\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? b/in_b\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? in_root\x1b[0m (esc) | ||||
Nicolas Dumazet
|
r11783 | $ hg status --color=always --cwd b . | ||
Mads Kiilerich
|
r12942 | \x1b[0;35;1;4m? 1/in_b_1\x1b[0m (esc) | ||
\x1b[0;35;1;4m? 2/in_b_2\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? in_b\x1b[0m (esc) | ||||
Nicolas Dumazet
|
r11783 | $ hg status --color=always --cwd b .. | ||
Mads Kiilerich
|
r12942 | \x1b[0;35;1;4m? ../a/1/in_a_1\x1b[0m (esc) | ||
\x1b[0;35;1;4m? ../a/in_a\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? 1/in_b_1\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? 2/in_b_2\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? in_b\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? ../in_root\x1b[0m (esc) | ||||
Nicolas Dumazet
|
r11783 | |||
$ hg status --color=always --cwd a/1 | ||||
Mads Kiilerich
|
r12942 | \x1b[0;35;1;4m? a/1/in_a_1\x1b[0m (esc) | ||
\x1b[0;35;1;4m? a/in_a\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? b/1/in_b_1\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? b/2/in_b_2\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? b/in_b\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? in_root\x1b[0m (esc) | ||||
Nicolas Dumazet
|
r11783 | $ hg status --color=always --cwd a/1 . | ||
Mads Kiilerich
|
r12942 | \x1b[0;35;1;4m? in_a_1\x1b[0m (esc) | ||
Nicolas Dumazet
|
r11783 | $ hg status --color=always --cwd a/1 .. | ||
Mads Kiilerich
|
r12942 | \x1b[0;35;1;4m? in_a_1\x1b[0m (esc) | ||
\x1b[0;35;1;4m? ../in_a\x1b[0m (esc) | ||||
Nicolas Dumazet
|
r11783 | |||
$ hg status --color=always --cwd b/1 | ||||
Mads Kiilerich
|
r12942 | \x1b[0;35;1;4m? a/1/in_a_1\x1b[0m (esc) | ||
\x1b[0;35;1;4m? a/in_a\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? b/1/in_b_1\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? b/2/in_b_2\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? b/in_b\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? in_root\x1b[0m (esc) | ||||
Nicolas Dumazet
|
r11783 | $ hg status --color=always --cwd b/1 . | ||
Mads Kiilerich
|
r12942 | \x1b[0;35;1;4m? in_b_1\x1b[0m (esc) | ||
Nicolas Dumazet
|
r11783 | $ hg status --color=always --cwd b/1 .. | ||
Mads Kiilerich
|
r12942 | \x1b[0;35;1;4m? in_b_1\x1b[0m (esc) | ||
\x1b[0;35;1;4m? ../2/in_b_2\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? ../in_b\x1b[0m (esc) | ||||
Nicolas Dumazet
|
r11783 | |||
$ hg status --color=always --cwd b/2 | ||||
Mads Kiilerich
|
r12942 | \x1b[0;35;1;4m? a/1/in_a_1\x1b[0m (esc) | ||
\x1b[0;35;1;4m? a/in_a\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? b/1/in_b_1\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? b/2/in_b_2\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? b/in_b\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? in_root\x1b[0m (esc) | ||||
Nicolas Dumazet
|
r11783 | $ hg status --color=always --cwd b/2 . | ||
Mads Kiilerich
|
r12942 | \x1b[0;35;1;4m? in_b_2\x1b[0m (esc) | ||
Nicolas Dumazet
|
r11783 | $ hg status --color=always --cwd b/2 .. | ||
Mads Kiilerich
|
r12942 | \x1b[0;35;1;4m? ../1/in_b_1\x1b[0m (esc) | ||
\x1b[0;35;1;4m? in_b_2\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? ../in_b\x1b[0m (esc) | ||||
Nicolas Dumazet
|
r11783 | $ cd .. | ||
$ hg init repo2 | ||||
$ cd repo2 | ||||
$ touch modified removed deleted ignored | ||||
$ echo "^ignored$" > .hgignore | ||||
Martin Geisler
|
r12156 | $ hg ci -A -m 'initial checkin' | ||
Nicolas Dumazet
|
r11783 | adding .hgignore | ||
adding deleted | ||||
adding modified | ||||
adding removed | ||||
$ touch modified added unknown ignored | ||||
$ hg add added | ||||
$ hg remove removed | ||||
$ rm deleted | ||||
hg status: | ||||
$ hg status --color=always | ||||
Mads Kiilerich
|
r12942 | \x1b[0;32;1mA added\x1b[0m (esc) | ||
\x1b[0;31;1mR removed\x1b[0m (esc) | ||||
\x1b[0;36;1;4m! deleted\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? unknown\x1b[0m (esc) | ||||
Nicolas Dumazet
|
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
|
r15521 | never-existed: * (glob) | ||
Mads Kiilerich
|
r12942 | \x1b[0;32;1mA added\x1b[0m (esc) | ||
\x1b[0;31;1mR removed\x1b[0m (esc) | ||||
\x1b[0;36;1;4m! deleted\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? unknown\x1b[0m (esc) | ||||
Nicolas Dumazet
|
r11783 | |||
$ hg copy modified copied | ||||
hg status -C: | ||||
$ hg status --color=always -C | ||||
Mads Kiilerich
|
r12942 | \x1b[0;32;1mA added\x1b[0m (esc) | ||
\x1b[0;32;1mA copied\x1b[0m (esc) | ||||
\x1b[0;0m modified\x1b[0m (esc) | ||||
\x1b[0;31;1mR removed\x1b[0m (esc) | ||||
\x1b[0;36;1;4m! deleted\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? unknown\x1b[0m (esc) | ||||
Nicolas Dumazet
|
r11783 | |||
hg status -A: | ||||
$ hg status --color=always -A | ||||
Mads Kiilerich
|
r12942 | \x1b[0;32;1mA added\x1b[0m (esc) | ||
\x1b[0;32;1mA copied\x1b[0m (esc) | ||||
\x1b[0;0m modified\x1b[0m (esc) | ||||
\x1b[0;31;1mR removed\x1b[0m (esc) | ||||
\x1b[0;36;1;4m! deleted\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? unknown\x1b[0m (esc) | ||||
\x1b[0;30;1mI ignored\x1b[0m (esc) | ||||
\x1b[0;0mC .hgignore\x1b[0m (esc) | ||||
\x1b[0;0mC modified\x1b[0m (esc) | ||||
Nicolas Dumazet
|
r11783 | |||
Danek Duvall
|
r13987 | hg status -A (with terminfo color): | ||
Danek Duvall
|
r14757 | $ mkdir $TESTTMP/terminfo | ||
$ TERMINFO=$TESTTMP/terminfo tic $TESTDIR/hgterm.ti | ||||
$ TERM=hgterm TERMINFO=$TESTTMP/terminfo hg status --config color.mode=terminfo --color=always -A | ||||
Patrick Mezard
|
r13997 | \x1b[30m\x1b[32m\x1b[1mA added\x1b[30m (esc) | ||
\x1b[30m\x1b[32m\x1b[1mA copied\x1b[30m (esc) | ||||
\x1b[30m\x1b[30m modified\x1b[30m (esc) | ||||
\x1b[30m\x1b[31m\x1b[1mR removed\x1b[30m (esc) | ||||
\x1b[30m\x1b[36m\x1b[1m\x1b[4m! deleted\x1b[30m (esc) | ||||
\x1b[30m\x1b[35m\x1b[1m\x1b[4m? unknown\x1b[30m (esc) | ||||
\x1b[30m\x1b[30m\x1b[1mI ignored\x1b[30m (esc) | ||||
\x1b[30m\x1b[30mC .hgignore\x1b[30m (esc) | ||||
\x1b[30m\x1b[30mC modified\x1b[30m (esc) | ||||
Danek Duvall
|
r13987 | |||
Nicolas Dumazet
|
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 | ||||
Mads Kiilerich
|
r12942 | \x1b[0;30;1mI ignoreddir/file\x1b[0m (esc) | ||
Nicolas Dumazet
|
r11783 | $ cd .. | ||
Matt Mackall
|
r12328 | check 'status -q' and some combinations | ||
Nicolas Dumazet
|
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 | ||||
Mads Kiilerich
|
r12942 | \x1b[0;32;1mA added\x1b[0m (esc) | ||
\x1b[0;32;1mA copied\x1b[0m (esc) | ||||
\x1b[0;31;1mR removed\x1b[0m (esc) | ||||
\x1b[0;36;1;4m! deleted\x1b[0m (esc) | ||||
\x1b[0;35;1;4m? unknown\x1b[0m (esc) | ||||
Nicolas Dumazet
|
r11783 | |||
Matt Mackall
|
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
|
r11783 | $ assert() { | ||
> hg status --color=always $1 > ../a | ||||
> hg status --color=always $2 > ../b | ||||
Matt Mackall
|
r12365 | > if diff ../a ../b > /dev/null; then | ||
> out=0 | ||||
> else | ||||
Nicolas Dumazet
|
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
|
r12328 | assert flag1 flag2 [0-same | 1-different] | ||
Nicolas Dumazet
|
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
|
r12328 | test 'resolve -l' | ||
Nicolas Dumazet
|
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 | ||||
warning: conflicts during merge. | ||||
Matt Mackall
|
r15501 | merging a incomplete! (edit conflicts, then use 'hg resolve --mark') | ||
Nicolas Dumazet
|
r11783 | merging b | ||
warning: conflicts during merge. | ||||
Matt Mackall
|
r15501 | merging b incomplete! (edit conflicts, then use 'hg resolve --mark') | ||
Nicolas Dumazet
|
r11783 | 0 files updated, 0 files merged, 0 files removed, 2 files unresolved | ||
Brodie Rao
|
r12314 | use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon | ||
Matt Mackall
|
r12316 | [1] | ||
Nicolas Dumazet
|
r11783 | $ hg resolve -m b | ||
hg resolve with one unresolved, one resolved: | ||||
$ hg resolve --color=always -l | ||||
Mads Kiilerich
|
r12942 | \x1b[0;31;1mU a\x1b[0m (esc) | ||
\x1b[0;32;1mR b\x1b[0m (esc) | ||||