##// END OF EJS Templates
identify: add template support...
identify: add template support This is based on a patch proposed last year by Mathias De Maré[1], with a few changes. - Tags and bookmarks are now formatted lists, for more flexible queries. - The templater is populated whether or not [-nibtB] is specified. (Plain output is unchanged.) This seems more consistent with other templated commands. - The 'id' property is a string, instead of a list. - The parents of 'wdir()' have their own list of attributes. I left 'id' as a string because it seems very useful for generating version info. It's also a bit strange because the value and meaning changes depending on whether or not --debug is passed (short vs full hash), whether the revision is a merge or not (one hash or two, separated by a '+'), the working directory or not (node vs p1node), and local or not (remote defaults to tip, and never has '+'). The equivalent string built with {rev} seems much less useful, and I couldn't think of a reasonable name, so I left it out. The discussion seemed to be pointing towards having a list of nodes, with more than one entry for a merge. It seems simpler to give the nodes a name, and use {node} for the actual commit probed, especially now that there is a virtual node for 'wdir()'. Yuya mentioned using fm.nested() in that thread, so I did for the parent nodes. I'm not sure if the plan is to fill in all of the context attributes in these items, or if these nested items should simply be made {p1node} and {p1rev}. I used ':' as the tag separator for consistency with {tags} in the log templater. Likewise, bookmarks are separated by a space for consistency with the corresponding log template. [1] https://www.mercurial-scm.org/pipermail/mercurial-devel/2016-August/087039.html

File last commit:

r32104:9a98023a stable
r33051:15a79ac8 default
Show More
test-status-color.t
389 lines | 13.5 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
Pierre-Yves David
color: add a 'ui.color' option to control color behavior...
r31110 > [ui]
> color = always
Yuya Nishihara
tests: write hgrc of more than two lines by using shell heredoc...
r23172 > [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:
Pierre-Yves David
color: add a 'ui.color' option to control color behavior...
r31110 $ hg status
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
Kostia Balytskyi
formatter: make labels work with templated output...
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]
Nicolas Dumazet
tests: unify test-status-color
r11783 hg status . in repo root:
Pierre-Yves David
color: add a 'ui.color' option to control color behavior...
r31110 $ hg status .
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
Pierre-Yves David
color: add a 'ui.color' option to control color behavior...
r31110 $ hg status --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)
Pierre-Yves David
color: add a 'ui.color' option to control color behavior...
r31110 $ hg status --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)
Pierre-Yves David
color: add a 'ui.color' option to control color behavior...
r31110 $ hg status --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
Pierre-Yves David
color: add a 'ui.color' option to control color behavior...
r31110 $ hg status --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)
Pierre-Yves David
color: add a 'ui.color' option to control color behavior...
r31110 $ hg status --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)
Pierre-Yves David
color: add a 'ui.color' option to control color behavior...
r31110 $ hg status --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
Pierre-Yves David
color: add a 'ui.color' option to control color behavior...
r31110 $ hg status --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)
Pierre-Yves David
color: add a 'ui.color' option to control color behavior...
r31110 $ hg status --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)
Pierre-Yves David
color: add a 'ui.color' option to control color behavior...
r31110 $ hg status --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
Pierre-Yves David
color: add a 'ui.color' option to control color behavior...
r31110 $ hg status --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)
Pierre-Yves David
color: add a 'ui.color' option to control color behavior...
r31110 $ hg status --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)
Pierre-Yves David
color: add a 'ui.color' option to control color behavior...
r31110 $ hg status --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
Pierre-Yves David
color: add a 'ui.color' option to control color behavior...
r31110 $ hg status --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)
Pierre-Yves David
color: add a 'ui.color' option to control color behavior...
r31110 $ hg status --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)
Pierre-Yves David
color: add a 'ui.color' option to control color behavior...
r31110 $ hg status --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
Pierre-Yves David
color: add a 'ui.color' option to control color behavior...
r31110 $ hg status --color=auto --config ui.formatted=False
Siddharth Agarwal
color: add a test with extension loaded and 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
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
timeless
compact: add color labels to -Tcompact
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]
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:
Pierre-Yves David
color: add a 'ui.color' option to control color behavior...
r31110 $ hg status
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:
Pierre-Yves David
color: add a 'ui.color' option to control color behavior...
r31110 $ hg status 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:
Pierre-Yves David
color: add a 'ui.color' option to control color behavior...
r31110 $ hg status -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:
Pierre-Yves David
color: add a 'ui.color' option to control color behavior...
r31110 $ hg status -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"
Pierre-Yves David
color: add a 'ui.color' option to control color behavior...
r31110 $ TERM=hgterm TERMINFO="$TESTTMP/terminfo" hg status --config color.mode=terminfo -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
Danek Duvall
color: allow for user-configurable terminfo codes for effects...
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
Pierre-Yves David
color: add a 'ui.color' option to control color behavior...
r31110 $ TERM=hgterm TERMINFO="$TESTTMP/terminfo" hg status --config color.mode=terminfo --config color.status.clean=dim -A
Danek Duvall
color: allow for user-configurable terminfo codes for effects...
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)
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:
Pierre-Yves David
color: add a 'ui.color' option to control color behavior...
r31110 $ hg status ignoreddir/file
Nicolas Dumazet
tests: unify test-status-color
r11783
hg status -i ignoreddir/file:
Pierre-Yves David
color: add a 'ui.color' option to control color behavior...
r31110 $ hg status -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
Pierre-Yves David
color: add a 'ui.color' option to control color behavior...
r31110 $ hg --config color.status.modified=periwinkle status
Nicolas Dumazet
tests: unify test-status-color
r11783 ignoring unknown color/effect 'periwinkle' (configured in color.status.modified)
Pierre-Yves David
color: move triggering of the initialisation logic in core...
r31105 ignoring unknown color/effect 'periwinkle' (configured in color.status.modified)
Pierre-Yves David
color: initialize color for the localrepo ui...
r31111 ignoring unknown color/effect 'periwinkle' (configured in color.status.modified)
Nicolas Dumazet
tests: unify test-status-color
r11783 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() {
Pierre-Yves David
color: add a 'ui.color' option to control color behavior...
r31110 > hg status $1 > ../a
> hg status $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:
Pierre-Yves David
color: add a 'ui.color' option to control color behavior...
r31110 $ hg resolve -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 ..