##// END OF EJS Templates
discovery: add extinct changesets to outgoing.excluded...
discovery: add extinct changesets to outgoing.excluded Before this change, push would incorrectly fast-path the bundle generation when extinct changesets are involved, because they are not added to outgoing.excluded. The reason to do so are related to outgoing.excluded being assumed to contain only secret changesets by scmutil.nochangesfound(), when displaying warnings like: changes found (ignored 9 secret changesets) Still, outgoing.excluded seems like a good API to report the extinct changesets instead of dedicated code and nothing in the docstring indicates it to be bound to secret changesets. This patch adds extinct changesets to outgoing.excluded and fixes scmutil.nochangesfound() to filter the excluded node list. Original version and test by Pierre-Yves.David@ens-lyon.org

File last commit:

r16913:f2719b38 default
r17248:6ffb35b2 stable
Show More
test-status-color.t
300 lines | 8.8 KiB | text/troff | Tads3Lexer
/ tests / test-status-color.t
Mads Kiilerich
tests: skip color test on platforms without tic
r15539 $ "$TESTDIR/hghave" tic || exit 80
Nicolas Dumazet
tests: unify test-status-color
r11783 $ echo "[extensions]" >> $HGRCPATH
$ echo "color=" >> $HGRCPATH
$ echo "[color]" >> $HGRCPATH
$ echo "mode=ansi" >> $HGRCPATH
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
Mads Kiilerich
tests: use (esc) for all non-ASCII test output
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
tests: unify test-status-color
r11783
hg status . in repo root:
$ hg status --color=always .
Mads Kiilerich
tests: use (esc) for all non-ASCII test output
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
tests: unify test-status-color
r11783
$ hg status --color=always --cwd a
Mads Kiilerich
tests: use (esc) for all non-ASCII test output
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
tests: unify test-status-color
r11783 $ hg status --color=always --cwd a .
Mads Kiilerich
tests: use (esc) for all non-ASCII test output
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
tests: unify test-status-color
r11783 $ hg status --color=always --cwd a ..
Mads Kiilerich
tests: use (esc) for all non-ASCII test output
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
tests: unify test-status-color
r11783
$ hg status --color=always --cwd b
Mads Kiilerich
tests: use (esc) for all non-ASCII test output
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
tests: unify test-status-color
r11783 $ hg status --color=always --cwd b .
Mads Kiilerich
tests: use (esc) for all non-ASCII test output
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
tests: unify test-status-color
r11783 $ hg status --color=always --cwd b ..
Mads Kiilerich
tests: use (esc) for all non-ASCII test output
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
tests: unify test-status-color
r11783
$ hg status --color=always --cwd a/1
Mads Kiilerich
tests: use (esc) for all non-ASCII test output
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
tests: unify test-status-color
r11783 $ hg status --color=always --cwd a/1 .
Mads Kiilerich
tests: use (esc) for all non-ASCII test output
r12942 \x1b[0;35;1;4m? in_a_1\x1b[0m (esc)
Nicolas Dumazet
tests: unify test-status-color
r11783 $ hg status --color=always --cwd a/1 ..
Mads Kiilerich
tests: use (esc) for all non-ASCII test output
r12942 \x1b[0;35;1;4m? in_a_1\x1b[0m (esc)
\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
Mads Kiilerich
tests: use (esc) for all non-ASCII test output
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
tests: unify test-status-color
r11783 $ hg status --color=always --cwd b/1 .
Mads Kiilerich
tests: use (esc) for all non-ASCII test output
r12942 \x1b[0;35;1;4m? in_b_1\x1b[0m (esc)
Nicolas Dumazet
tests: unify test-status-color
r11783 $ hg status --color=always --cwd b/1 ..
Mads Kiilerich
tests: use (esc) for all non-ASCII test output
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
tests: unify test-status-color
r11783
$ hg status --color=always --cwd b/2
Mads Kiilerich
tests: use (esc) for all non-ASCII test output
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
tests: unify test-status-color
r11783 $ hg status --color=always --cwd b/2 .
Mads Kiilerich
tests: use (esc) for all non-ASCII test output
r12942 \x1b[0;35;1;4m? in_b_2\x1b[0m (esc)
Nicolas Dumazet
tests: unify test-status-color
r11783 $ hg status --color=always --cwd b/2 ..
Mads Kiilerich
tests: use (esc) for all non-ASCII test output
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
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
$ touch modified added unknown ignored
$ hg add added
$ hg remove removed
$ rm deleted
hg status:
$ hg status --color=always
Mads Kiilerich
tests: use (esc) for all non-ASCII test output
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
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)
Mads Kiilerich
tests: use (esc) for all non-ASCII test output
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
tests: unify test-status-color
r11783
$ hg copy modified copied
hg status -C:
$ hg status --color=always -C
Mads Kiilerich
tests: use (esc) for all non-ASCII test output
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
tests: unify test-status-color
r11783
hg status -A:
$ hg status --color=always -A
Mads Kiilerich
tests: use (esc) for all non-ASCII test output
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
tests: unify test-status-color
r11783
Danek Duvall
color: add support for terminfo-based attributes and color...
r13987 hg status -A (with terminfo color):
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
Patrick Mezard
test-status-color: fix terminfo code compatibility problem...
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
color: add support for terminfo-based attributes and color...
r13987
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
Mads Kiilerich
tests: use (esc) for all non-ASCII test output
r12942 \x1b[0;30;1mI ignoreddir/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
Mads Kiilerich
tests: use (esc) for all non-ASCII test output
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
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
warning: conflicts during merge.
Matt Mackall
merge: give a special message for internal:merge failure (issue3105)
r15501 merging a incomplete! (edit conflicts, then use 'hg resolve --mark')
Nicolas Dumazet
tests: unify test-status-color
r11783 merging b
warning: conflicts during merge.
Matt Mackall
merge: give a special message for internal:merge failure (issue3105)
r15501 merging b incomplete! (edit conflicts, 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
Mads Kiilerich
tests: use (esc) for all non-ASCII test output
r12942 \x1b[0;31;1mU a\x1b[0m (esc)
\x1b[0;32;1mR b\x1b[0m (esc)
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
$ cd ..