annotate tests/test-diff-color.t @ 37048:fc5e261915b9

wireproto: require POST for all HTTPv2 requests Wire protocol version 1 transfers argument data via request headers by default. This has historically caused problems because servers institute limits on the length of individual HTTP headers as well as the total size of all request headers. Mercurial servers can advertise the maximum length of an individual header. But there's no guarantee any intermediate HTTP agents will accept headers up to that length. In the existing wire protocol, server operators typically also key off the HTTP request method to implement authentication. For example, GET requests translate to read-only requests and can be allowed. But read-write commands must use POST and require authentication. This has typically worked because the only wire protocol commands that use POST modify the repo (e.g. the "unbundle" command). There is an experimental feature to enable clients to transmit argument data via POST request bodies. This is technically a better and more robust solution. But we can't enable it by default because of servers assuming POST means write access. In version 2 of the wire protocol, the permissions of a request are encoded in the URL. And with it being a new protocol in a new URL space, we're not constrained by backwards compatibility requirements. This commit adopts the technically superior mechanism of using HTTP request bodies to send argument data by requiring POST for all commands. Strictly speaking, it may be possible to send request bodies on GET requests. But my experience is that not all HTTP stacks support this. POST pretty much always works. Using POST for read-only operations does sacrifice some RESTful design purity. But this API cares about practicality, not about being in Roy T. Fielding's REST ivory tower. There's a chance we may relax this restriction in the future. But for now, I want to see how far we can get with a POST only API. Differential Revision: https://phab.mercurial-scm.org/D2837
author Gregory Szorc <gregory.szorc@gmail.com>
date Tue, 13 Mar 2018 11:57:43 -0700
parents 82c3762349ac
children 5471348921c1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12415
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
1 Setup
7458
03dd55115985 color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
2
23172
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22589
diff changeset
3 $ cat <<EOF >> $HGRCPATH
31110
7fec37746417 color: add a 'ui.color' option to control color behavior
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 27411
diff changeset
4 > [ui]
32103
9a98023ac8db color: special case 'always' in 'ui.color'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32102
diff changeset
5 > color = yes
32102
9a85ea1daf49 color: turn 'ui.color' into a boolean (auto or off)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31110
diff changeset
6 > formatted = always
32122
1add41fc3c62 test-diff-color: disable pager for expected output on Windows (issue5555)
Matt Harbison <matt_harbison@yahoo.com>
parents: 32103
diff changeset
7 > paginate = never
23172
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22589
diff changeset
8 > [color]
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22589
diff changeset
9 > mode = ansi
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22589
diff changeset
10 > EOF
12415
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
11 $ hg init repo
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
12 $ cd repo
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
13 $ cat > a <<EOF
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
14 > c
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
15 > c
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
16 > a
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
17 > a
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
18 > b
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
19 > a
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
20 > a
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
21 > c
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
22 > c
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
23 > EOF
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
24 $ hg ci -Am adda
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
25 adding a
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
26 $ cat > a <<EOF
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
27 > c
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
28 > c
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
29 > a
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
30 > a
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
31 > dd
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
32 > a
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
33 > a
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
34 > c
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
35 > c
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
36 > EOF
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
37
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
38 default context
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
39
31110
7fec37746417 color: add a 'ui.color' option to control color behavior
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 27411
diff changeset
40 $ hg diff --nodates
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12415
diff changeset
41 \x1b[0;1mdiff -r cf9f4ba66af2 a\x1b[0m (esc)
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12415
diff changeset
42 \x1b[0;31;1m--- a/a\x1b[0m (esc)
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12415
diff changeset
43 \x1b[0;32;1m+++ b/a\x1b[0m (esc)
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12415
diff changeset
44 \x1b[0;35m@@ -2,7 +2,7 @@\x1b[0m (esc)
12415
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
45 c
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
46 a
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
47 a
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12415
diff changeset
48 \x1b[0;31m-b\x1b[0m (esc)
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12415
diff changeset
49 \x1b[0;32m+dd\x1b[0m (esc)
12415
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
50 a
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
51 a
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
52 c
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
53
32102
9a85ea1daf49 color: turn 'ui.color' into a boolean (auto or off)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31110
diff changeset
54 (check that 'ui.color=yes' match '--color=auto')
9a85ea1daf49 color: turn 'ui.color' into a boolean (auto or off)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31110
diff changeset
55
9a85ea1daf49 color: turn 'ui.color' into a boolean (auto or off)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31110
diff changeset
56 $ hg diff --nodates --config ui.formatted=no
9a85ea1daf49 color: turn 'ui.color' into a boolean (auto or off)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31110
diff changeset
57 diff -r cf9f4ba66af2 a
9a85ea1daf49 color: turn 'ui.color' into a boolean (auto or off)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31110
diff changeset
58 --- a/a
9a85ea1daf49 color: turn 'ui.color' into a boolean (auto or off)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31110
diff changeset
59 +++ b/a
9a85ea1daf49 color: turn 'ui.color' into a boolean (auto or off)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31110
diff changeset
60 @@ -2,7 +2,7 @@
9a85ea1daf49 color: turn 'ui.color' into a boolean (auto or off)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31110
diff changeset
61 c
9a85ea1daf49 color: turn 'ui.color' into a boolean (auto or off)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31110
diff changeset
62 a
9a85ea1daf49 color: turn 'ui.color' into a boolean (auto or off)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31110
diff changeset
63 a
9a85ea1daf49 color: turn 'ui.color' into a boolean (auto or off)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31110
diff changeset
64 -b
9a85ea1daf49 color: turn 'ui.color' into a boolean (auto or off)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31110
diff changeset
65 +dd
9a85ea1daf49 color: turn 'ui.color' into a boolean (auto or off)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31110
diff changeset
66 a
9a85ea1daf49 color: turn 'ui.color' into a boolean (auto or off)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31110
diff changeset
67 a
9a85ea1daf49 color: turn 'ui.color' into a boolean (auto or off)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31110
diff changeset
68 c
9a85ea1daf49 color: turn 'ui.color' into a boolean (auto or off)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31110
diff changeset
69
9a85ea1daf49 color: turn 'ui.color' into a boolean (auto or off)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31110
diff changeset
70 (check that 'ui.color=no' disable color)
9a85ea1daf49 color: turn 'ui.color' into a boolean (auto or off)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31110
diff changeset
71
9a85ea1daf49 color: turn 'ui.color' into a boolean (auto or off)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31110
diff changeset
72 $ hg diff --nodates --config ui.formatted=yes --config ui.color=no
9a85ea1daf49 color: turn 'ui.color' into a boolean (auto or off)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31110
diff changeset
73 diff -r cf9f4ba66af2 a
9a85ea1daf49 color: turn 'ui.color' into a boolean (auto or off)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31110
diff changeset
74 --- a/a
9a85ea1daf49 color: turn 'ui.color' into a boolean (auto or off)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31110
diff changeset
75 +++ b/a
9a85ea1daf49 color: turn 'ui.color' into a boolean (auto or off)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31110
diff changeset
76 @@ -2,7 +2,7 @@
9a85ea1daf49 color: turn 'ui.color' into a boolean (auto or off)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31110
diff changeset
77 c
9a85ea1daf49 color: turn 'ui.color' into a boolean (auto or off)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31110
diff changeset
78 a
9a85ea1daf49 color: turn 'ui.color' into a boolean (auto or off)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31110
diff changeset
79 a
9a85ea1daf49 color: turn 'ui.color' into a boolean (auto or off)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31110
diff changeset
80 -b
9a85ea1daf49 color: turn 'ui.color' into a boolean (auto or off)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31110
diff changeset
81 +dd
9a85ea1daf49 color: turn 'ui.color' into a boolean (auto or off)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31110
diff changeset
82 a
9a85ea1daf49 color: turn 'ui.color' into a boolean (auto or off)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31110
diff changeset
83 a
9a85ea1daf49 color: turn 'ui.color' into a boolean (auto or off)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31110
diff changeset
84 c
9a85ea1daf49 color: turn 'ui.color' into a boolean (auto or off)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31110
diff changeset
85
32103
9a98023ac8db color: special case 'always' in 'ui.color'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32102
diff changeset
86 (check that 'ui.color=always' force color)
9a98023ac8db color: special case 'always' in 'ui.color'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32102
diff changeset
87
9a98023ac8db color: special case 'always' in 'ui.color'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32102
diff changeset
88 $ hg diff --nodates --config ui.formatted=no --config ui.color=always
9a98023ac8db color: special case 'always' in 'ui.color'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32102
diff changeset
89 \x1b[0;1mdiff -r cf9f4ba66af2 a\x1b[0m (esc)
9a98023ac8db color: special case 'always' in 'ui.color'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32102
diff changeset
90 \x1b[0;31;1m--- a/a\x1b[0m (esc)
9a98023ac8db color: special case 'always' in 'ui.color'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32102
diff changeset
91 \x1b[0;32;1m+++ b/a\x1b[0m (esc)
9a98023ac8db color: special case 'always' in 'ui.color'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32102
diff changeset
92 \x1b[0;35m@@ -2,7 +2,7 @@\x1b[0m (esc)
9a98023ac8db color: special case 'always' in 'ui.color'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32102
diff changeset
93 c
9a98023ac8db color: special case 'always' in 'ui.color'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32102
diff changeset
94 a
9a98023ac8db color: special case 'always' in 'ui.color'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32102
diff changeset
95 a
9a98023ac8db color: special case 'always' in 'ui.color'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32102
diff changeset
96 \x1b[0;31m-b\x1b[0m (esc)
9a98023ac8db color: special case 'always' in 'ui.color'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32102
diff changeset
97 \x1b[0;32m+dd\x1b[0m (esc)
9a98023ac8db color: special case 'always' in 'ui.color'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32102
diff changeset
98 a
9a98023ac8db color: special case 'always' in 'ui.color'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32102
diff changeset
99 a
9a98023ac8db color: special case 'always' in 'ui.color'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32102
diff changeset
100 c
9a98023ac8db color: special case 'always' in 'ui.color'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32102
diff changeset
101
12415
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
102 --unified=2
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
103
31110
7fec37746417 color: add a 'ui.color' option to control color behavior
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 27411
diff changeset
104 $ hg diff --nodates -U 2
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12415
diff changeset
105 \x1b[0;1mdiff -r cf9f4ba66af2 a\x1b[0m (esc)
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12415
diff changeset
106 \x1b[0;31;1m--- a/a\x1b[0m (esc)
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12415
diff changeset
107 \x1b[0;32;1m+++ b/a\x1b[0m (esc)
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12415
diff changeset
108 \x1b[0;35m@@ -3,5 +3,5 @@\x1b[0m (esc)
12415
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
109 a
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
110 a
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12415
diff changeset
111 \x1b[0;31m-b\x1b[0m (esc)
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12415
diff changeset
112 \x1b[0;32m+dd\x1b[0m (esc)
12415
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
113 a
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
114 a
7458
03dd55115985 color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
115
12415
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
116 diffstat
9579
c06e7581bbaa color: add test for record support
Brodie Rao <me+hg@dackz.net>
parents: 7458
diff changeset
117
31110
7fec37746417 color: add a 'ui.color' option to control color behavior
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 27411
diff changeset
118 $ hg diff --stat
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12415
diff changeset
119 a | 2 \x1b[0;32m+\x1b[0m\x1b[0;31m-\x1b[0m (esc)
12415
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
120 1 files changed, 1 insertions(+), 1 deletions(-)
23172
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22589
diff changeset
121 $ cat <<EOF >> $HGRCPATH
31110
7fec37746417 color: add a 'ui.color' option to control color behavior
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 27411
diff changeset
122 > [extensions]
23172
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22589
diff changeset
123 > record =
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22589
diff changeset
124 > [ui]
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22589
diff changeset
125 > interactive = true
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22589
diff changeset
126 > [diff]
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22589
diff changeset
127 > git = True
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22589
diff changeset
128 > EOF
9641
9b99f158348a color: colorize diff --stat
Brodie Rao <me+hg@dackz.net>
parents: 9579
diff changeset
129
16899
8149ff405c78 tests: convert some 'hghave execbit' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16324
diff changeset
130 #if execbit
8149ff405c78 tests: convert some 'hghave execbit' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16324
diff changeset
131
12415
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
132 record
9579
c06e7581bbaa color: add test for record support
Brodie Rao <me+hg@dackz.net>
parents: 7458
diff changeset
133
15442
db0340f4b507 tests: use 'hghave execbit' for tests that manipulate x bit in file system
Mads Kiilerich <mads@kiilerich.com>
parents: 15243
diff changeset
134 $ chmod +x a
31110
7fec37746417 color: add a 'ui.color' option to control color behavior
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 27411
diff changeset
135 $ hg record -m moda a <<EOF
12415
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
136 > y
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
137 > y
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
138 > EOF
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12415
diff changeset
139 \x1b[0;1mdiff --git a/a b/a\x1b[0m (esc)
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12415
diff changeset
140 \x1b[0;36;1mold mode 100644\x1b[0m (esc)
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12415
diff changeset
141 \x1b[0;36;1mnew mode 100755\x1b[0m (esc)
12415
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
142 1 hunks, 1 lines changed
22589
9ab18a912c44 ui: show prompt choice if input is not a tty but is forced to be interactive
Mads Kiilerich <madski@unity3d.com>
parents: 22460
diff changeset
143 \x1b[0;33mexamine changes to 'a'? [Ynesfdaq?]\x1b[0m y (esc)
9ab18a912c44 ui: show prompt choice if input is not a tty but is forced to be interactive
Mads Kiilerich <madski@unity3d.com>
parents: 22460
diff changeset
144
27411
c84a07530040 record: turn on showfunc
timeless <timeless@mozdev.org>
parents: 23172
diff changeset
145 \x1b[0;35m@@ -2,7 +2,7 @@ c\x1b[0m (esc)
12415
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
146 c
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
147 a
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
148 a
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12415
diff changeset
149 \x1b[0;31m-b\x1b[0m (esc)
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12415
diff changeset
150 \x1b[0;32m+dd\x1b[0m (esc)
12415
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
151 a
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
152 a
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
153 c
22589
9ab18a912c44 ui: show prompt choice if input is not a tty but is forced to be interactive
Mads Kiilerich <madski@unity3d.com>
parents: 22460
diff changeset
154 \x1b[0;33mrecord this change to 'a'? [Ynesfdaq?]\x1b[0m y (esc)
9ab18a912c44 ui: show prompt choice if input is not a tty but is forced to be interactive
Mads Kiilerich <madski@unity3d.com>
parents: 22460
diff changeset
155
15243
1e9451476bf8 tests: cleanup of echo statements left over from test conversion
Mads Kiilerich <mads@kiilerich.com>
parents: 13987
diff changeset
156
12415
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
157 $ echo "[extensions]" >> $HGRCPATH
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
158 $ echo "mq=" >> $HGRCPATH
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
159 $ hg rollback
13446
1e497df514e2 rollback: clarifies the message about the reverted state (issue2628)
Gilles Moris <gilles.moris@free.fr>
parents: 12942
diff changeset
160 repository tip rolled back to revision 0 (undo commit)
1e497df514e2 rollback: clarifies the message about the reverted state (issue2628)
Gilles Moris <gilles.moris@free.fr>
parents: 12942
diff changeset
161 working directory now based on revision 0
9711
d29bd00bbc50 color: wrap qrecord
Martin Geisler <mg@lazybytes.net>
parents: 9641
diff changeset
162
12415
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
163 qrecord
9711
d29bd00bbc50 color: wrap qrecord
Martin Geisler <mg@lazybytes.net>
parents: 9641
diff changeset
164
31110
7fec37746417 color: add a 'ui.color' option to control color behavior
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 27411
diff changeset
165 $ hg qrecord -m moda patch <<EOF
12415
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
166 > y
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
167 > y
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
168 > EOF
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12415
diff changeset
169 \x1b[0;1mdiff --git a/a b/a\x1b[0m (esc)
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12415
diff changeset
170 \x1b[0;36;1mold mode 100644\x1b[0m (esc)
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12415
diff changeset
171 \x1b[0;36;1mnew mode 100755\x1b[0m (esc)
12415
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
172 1 hunks, 1 lines changed
22589
9ab18a912c44 ui: show prompt choice if input is not a tty but is forced to be interactive
Mads Kiilerich <madski@unity3d.com>
parents: 22460
diff changeset
173 \x1b[0;33mexamine changes to 'a'? [Ynesfdaq?]\x1b[0m y (esc)
9ab18a912c44 ui: show prompt choice if input is not a tty but is forced to be interactive
Mads Kiilerich <madski@unity3d.com>
parents: 22460
diff changeset
174
27411
c84a07530040 record: turn on showfunc
timeless <timeless@mozdev.org>
parents: 23172
diff changeset
175 \x1b[0;35m@@ -2,7 +2,7 @@ c\x1b[0m (esc)
12415
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
176 c
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
177 a
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
178 a
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12415
diff changeset
179 \x1b[0;31m-b\x1b[0m (esc)
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12415
diff changeset
180 \x1b[0;32m+dd\x1b[0m (esc)
12415
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
181 a
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
182 a
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
183 c
22589
9ab18a912c44 ui: show prompt choice if input is not a tty but is forced to be interactive
Mads Kiilerich <madski@unity3d.com>
parents: 22460
diff changeset
184 \x1b[0;33mrecord this change to 'a'? [Ynesfdaq?]\x1b[0m y (esc)
9ab18a912c44 ui: show prompt choice if input is not a tty but is forced to be interactive
Mads Kiilerich <madski@unity3d.com>
parents: 22460
diff changeset
185
16899
8149ff405c78 tests: convert some 'hghave execbit' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16324
diff changeset
186
18006
0c10cf819146 subrepo: add argument to "diff()" to pass "ui" of caller side (issue3712) (API)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16913
diff changeset
187 $ hg qpop -a
0c10cf819146 subrepo: add argument to "diff()" to pass "ui" of caller side (issue3712) (API)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16913
diff changeset
188 popping patch
0c10cf819146 subrepo: add argument to "diff()" to pass "ui" of caller side (issue3712) (API)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16913
diff changeset
189 patch queue now empty
0c10cf819146 subrepo: add argument to "diff()" to pass "ui" of caller side (issue3712) (API)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16913
diff changeset
190
16899
8149ff405c78 tests: convert some 'hghave execbit' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16324
diff changeset
191 #endif
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16899
diff changeset
192
18006
0c10cf819146 subrepo: add argument to "diff()" to pass "ui" of caller side (issue3712) (API)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16913
diff changeset
193 issue3712: test colorization of subrepo diff
0c10cf819146 subrepo: add argument to "diff()" to pass "ui" of caller side (issue3712) (API)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16913
diff changeset
194
0c10cf819146 subrepo: add argument to "diff()" to pass "ui" of caller side (issue3712) (API)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16913
diff changeset
195 $ hg init sub
0c10cf819146 subrepo: add argument to "diff()" to pass "ui" of caller side (issue3712) (API)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16913
diff changeset
196 $ echo b > sub/b
0c10cf819146 subrepo: add argument to "diff()" to pass "ui" of caller side (issue3712) (API)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16913
diff changeset
197 $ hg -R sub commit -Am 'create sub'
0c10cf819146 subrepo: add argument to "diff()" to pass "ui" of caller side (issue3712) (API)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16913
diff changeset
198 adding b
0c10cf819146 subrepo: add argument to "diff()" to pass "ui" of caller side (issue3712) (API)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16913
diff changeset
199 $ echo 'sub = sub' > .hgsub
0c10cf819146 subrepo: add argument to "diff()" to pass "ui" of caller side (issue3712) (API)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16913
diff changeset
200 $ hg add .hgsub
0c10cf819146 subrepo: add argument to "diff()" to pass "ui" of caller side (issue3712) (API)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16913
diff changeset
201 $ hg commit -m 'add subrepo sub'
0c10cf819146 subrepo: add argument to "diff()" to pass "ui" of caller side (issue3712) (API)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16913
diff changeset
202 $ echo aa >> a
0c10cf819146 subrepo: add argument to "diff()" to pass "ui" of caller side (issue3712) (API)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16913
diff changeset
203 $ echo bb >> sub/b
0c10cf819146 subrepo: add argument to "diff()" to pass "ui" of caller side (issue3712) (API)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16913
diff changeset
204
31110
7fec37746417 color: add a 'ui.color' option to control color behavior
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 27411
diff changeset
205 $ hg diff -S
18006
0c10cf819146 subrepo: add argument to "diff()" to pass "ui" of caller side (issue3712) (API)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16913
diff changeset
206 \x1b[0;1mdiff --git a/a b/a\x1b[0m (esc)
0c10cf819146 subrepo: add argument to "diff()" to pass "ui" of caller side (issue3712) (API)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16913
diff changeset
207 \x1b[0;31;1m--- a/a\x1b[0m (esc)
0c10cf819146 subrepo: add argument to "diff()" to pass "ui" of caller side (issue3712) (API)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16913
diff changeset
208 \x1b[0;32;1m+++ b/a\x1b[0m (esc)
0c10cf819146 subrepo: add argument to "diff()" to pass "ui" of caller side (issue3712) (API)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16913
diff changeset
209 \x1b[0;35m@@ -7,3 +7,4 @@\x1b[0m (esc)
0c10cf819146 subrepo: add argument to "diff()" to pass "ui" of caller side (issue3712) (API)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16913
diff changeset
210 a
0c10cf819146 subrepo: add argument to "diff()" to pass "ui" of caller side (issue3712) (API)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16913
diff changeset
211 c
0c10cf819146 subrepo: add argument to "diff()" to pass "ui" of caller side (issue3712) (API)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16913
diff changeset
212 c
0c10cf819146 subrepo: add argument to "diff()" to pass "ui" of caller side (issue3712) (API)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16913
diff changeset
213 \x1b[0;32m+aa\x1b[0m (esc)
18720
0ade08dcb3c3 tests: remove glob lines which unnecessary match / for \ on windows
Simon Heimberg <simohe@besonet.ch>
parents: 18157
diff changeset
214 \x1b[0;1mdiff --git a/sub/b b/sub/b\x1b[0m (esc)
18006
0c10cf819146 subrepo: add argument to "diff()" to pass "ui" of caller side (issue3712) (API)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16913
diff changeset
215 \x1b[0;31;1m--- a/sub/b\x1b[0m (esc)
0c10cf819146 subrepo: add argument to "diff()" to pass "ui" of caller side (issue3712) (API)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16913
diff changeset
216 \x1b[0;32;1m+++ b/sub/b\x1b[0m (esc)
0c10cf819146 subrepo: add argument to "diff()" to pass "ui" of caller side (issue3712) (API)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16913
diff changeset
217 \x1b[0;35m@@ -1,1 +1,2 @@\x1b[0m (esc)
0c10cf819146 subrepo: add argument to "diff()" to pass "ui" of caller side (issue3712) (API)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16913
diff changeset
218 b
0c10cf819146 subrepo: add argument to "diff()" to pass "ui" of caller side (issue3712) (API)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16913
diff changeset
219 \x1b[0;32m+bb\x1b[0m (esc)
0c10cf819146 subrepo: add argument to "diff()" to pass "ui" of caller side (issue3712) (API)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16913
diff changeset
220
22460
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
221 test tabs
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
222
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
223 $ cat >> a <<EOF
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
224 > one tab
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
225 > two tabs
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
226 > end tab
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
227 > mid tab
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
228 > all tabs
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
229 > EOF
31110
7fec37746417 color: add a 'ui.color' option to control color behavior
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 27411
diff changeset
230 $ hg diff --nodates
22460
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
231 \x1b[0;1mdiff --git a/a b/a\x1b[0m (esc)
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
232 \x1b[0;31;1m--- a/a\x1b[0m (esc)
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
233 \x1b[0;32;1m+++ b/a\x1b[0m (esc)
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
234 \x1b[0;35m@@ -7,3 +7,9 @@\x1b[0m (esc)
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
235 a
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
236 c
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
237 c
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
238 \x1b[0;32m+aa\x1b[0m (esc)
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
239 \x1b[0;32m+\x1b[0m \x1b[0;32mone tab\x1b[0m (esc)
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
240 \x1b[0;32m+\x1b[0m \x1b[0;32mtwo tabs\x1b[0m (esc)
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
241 \x1b[0;32m+end tab\x1b[0m\x1b[0;1;41m \x1b[0m (esc)
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
242 \x1b[0;32m+mid\x1b[0m \x1b[0;32mtab\x1b[0m (esc)
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
243 \x1b[0;32m+\x1b[0m \x1b[0;32mall\x1b[0m \x1b[0;32mtabs\x1b[0m\x1b[0;1;41m \x1b[0m (esc)
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
244 $ echo "[color]" >> $HGRCPATH
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
245 $ echo "diff.tab = bold magenta" >> $HGRCPATH
31110
7fec37746417 color: add a 'ui.color' option to control color behavior
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 27411
diff changeset
246 $ hg diff --nodates
22460
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
247 \x1b[0;1mdiff --git a/a b/a\x1b[0m (esc)
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
248 \x1b[0;31;1m--- a/a\x1b[0m (esc)
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
249 \x1b[0;32;1m+++ b/a\x1b[0m (esc)
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
250 \x1b[0;35m@@ -7,3 +7,9 @@\x1b[0m (esc)
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
251 a
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
252 c
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
253 c
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
254 \x1b[0;32m+aa\x1b[0m (esc)
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
255 \x1b[0;32m+\x1b[0m\x1b[0;1;35m \x1b[0m\x1b[0;32mone tab\x1b[0m (esc)
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
256 \x1b[0;32m+\x1b[0m\x1b[0;1;35m \x1b[0m\x1b[0;32mtwo tabs\x1b[0m (esc)
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
257 \x1b[0;32m+end tab\x1b[0m\x1b[0;1;41m \x1b[0m (esc)
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
258 \x1b[0;32m+mid\x1b[0m\x1b[0;1;35m \x1b[0m\x1b[0;32mtab\x1b[0m (esc)
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
259 \x1b[0;32m+\x1b[0m\x1b[0;1;35m \x1b[0m\x1b[0;32mall\x1b[0m\x1b[0;1;35m \x1b[0m\x1b[0;32mtabs\x1b[0m\x1b[0;1;41m \x1b[0m (esc)
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
260
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16899
diff changeset
261 $ cd ..
35277
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
262
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
263 test inline color diff
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
264
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
265 $ hg init inline
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
266 $ cd inline
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
267 $ cat > file1 << EOF
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
268 > this is the first line
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
269 > this is the second line
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
270 > third line starts with space
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
271 > + starts with a plus sign
35328
4937db58b663 patch: move part of tabsplitter logic in _inlinediff
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 35277
diff changeset
272 > this one with one tab
4937db58b663 patch: move part of tabsplitter logic in _inlinediff
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 35277
diff changeset
273 > now with full two tabs
4937db58b663 patch: move part of tabsplitter logic in _inlinediff
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 35277
diff changeset
274 > now tabs everywhere, much fun
35277
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
275 >
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
276 > this line won't change
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
277 >
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
278 > two lines are going to
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
279 > be changed into three!
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
280 >
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
281 > three of those lines will
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
282 > collapse onto one
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
283 > (to see if it works)
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
284 > EOF
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
285 $ hg add file1
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
286 $ hg ci -m 'commit'
35328
4937db58b663 patch: move part of tabsplitter logic in _inlinediff
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 35277
diff changeset
287
35277
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
288 $ cat > file1 << EOF
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
289 > that is the first paragraph
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
290 > this is the second line
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
291 > third line starts with space
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
292 > - starts with a minus sign
35328
4937db58b663 patch: move part of tabsplitter logic in _inlinediff
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 35277
diff changeset
293 > this one with two tab
4937db58b663 patch: move part of tabsplitter logic in _inlinediff
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 35277
diff changeset
294 > now with full three tabs
4937db58b663 patch: move part of tabsplitter logic in _inlinediff
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 35277
diff changeset
295 > now there are tabs everywhere, much fun
35277
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
296 >
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
297 > this line won't change
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
298 >
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
299 > two lines are going to
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
300 > (entirely magically,
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
301 > assuming this works)
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
302 > be changed into four!
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
303 >
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
304 > three of those lines have
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
305 > collapsed onto one
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
306 > EOF
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
307 $ hg diff --config experimental.worddiff=False --color=debug
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
308 [diff.diffline|diff --git a/file1 b/file1]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
309 [diff.file_a|--- a/file1]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
310 [diff.file_b|+++ b/file1]
35328
4937db58b663 patch: move part of tabsplitter logic in _inlinediff
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 35277
diff changeset
311 [diff.hunk|@@ -1,16 +1,17 @@]
35277
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
312 [diff.deleted|-this is the first line]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
313 [diff.deleted|-this is the second line]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
314 [diff.deleted|- third line starts with space]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
315 [diff.deleted|-+ starts with a plus sign]
35328
4937db58b663 patch: move part of tabsplitter logic in _inlinediff
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 35277
diff changeset
316 [diff.deleted|-][diff.tab| ][diff.deleted|this one with one tab]
4937db58b663 patch: move part of tabsplitter logic in _inlinediff
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 35277
diff changeset
317 [diff.deleted|-][diff.tab| ][diff.deleted|now with full two tabs]
4937db58b663 patch: move part of tabsplitter logic in _inlinediff
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 35277
diff changeset
318 [diff.deleted|-][diff.tab| ][diff.deleted|now tabs][diff.tab| ][diff.deleted|everywhere, much fun]
35277
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
319 [diff.inserted|+that is the first paragraph]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
320 [diff.inserted|+ this is the second line]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
321 [diff.inserted|+third line starts with space]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
322 [diff.inserted|+- starts with a minus sign]
35328
4937db58b663 patch: move part of tabsplitter logic in _inlinediff
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 35277
diff changeset
323 [diff.inserted|+][diff.tab| ][diff.inserted|this one with two tab]
4937db58b663 patch: move part of tabsplitter logic in _inlinediff
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 35277
diff changeset
324 [diff.inserted|+][diff.tab| ][diff.inserted|now with full three tabs]
4937db58b663 patch: move part of tabsplitter logic in _inlinediff
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 35277
diff changeset
325 [diff.inserted|+][diff.tab| ][diff.inserted|now there are tabs][diff.tab| ][diff.inserted|everywhere, much fun]
35277
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
326
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
327 this line won't change
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
328
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
329 two lines are going to
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
330 [diff.deleted|-be changed into three!]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
331 [diff.inserted|+(entirely magically,]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
332 [diff.inserted|+ assuming this works)]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
333 [diff.inserted|+be changed into four!]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
334
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
335 [diff.deleted|-three of those lines will]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
336 [diff.deleted|-collapse onto one]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
337 [diff.deleted|-(to see if it works)]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
338 [diff.inserted|+three of those lines have]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
339 [diff.inserted|+collapsed onto one]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
340 $ hg diff --config experimental.worddiff=True --color=debug
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
341 [diff.diffline|diff --git a/file1 b/file1]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
342 [diff.file_a|--- a/file1]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
343 [diff.file_b|+++ b/file1]
35328
4937db58b663 patch: move part of tabsplitter logic in _inlinediff
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 35277
diff changeset
344 [diff.hunk|@@ -1,16 +1,17 @@]
35277
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
345 [diff.deleted|-this is the ][diff.deleted.highlight|first][diff.deleted| line]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
346 [diff.deleted|-this is the second line]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
347 [diff.deleted|-][diff.deleted.highlight| ][diff.deleted|third line starts with space]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
348 [diff.deleted|-][diff.deleted.highlight|+][diff.deleted| starts with a ][diff.deleted.highlight|plus][diff.deleted| sign]
35328
4937db58b663 patch: move part of tabsplitter logic in _inlinediff
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 35277
diff changeset
349 [diff.deleted|-][diff.tab| ][diff.deleted|this one with ][diff.deleted.highlight|one][diff.deleted| tab]
4937db58b663 patch: move part of tabsplitter logic in _inlinediff
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 35277
diff changeset
350 [diff.deleted|-][diff.tab| ][diff.deleted|now with full ][diff.deleted.highlight|two][diff.deleted| tabs]
4937db58b663 patch: move part of tabsplitter logic in _inlinediff
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 35277
diff changeset
351 [diff.deleted|-][diff.tab| ][diff.deleted|now tabs][diff.tab| ][diff.deleted|everywhere, much fun]
35277
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
352 [diff.inserted|+that is the first paragraph]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
353 [diff.inserted|+][diff.inserted.highlight| ][diff.inserted|this is the ][diff.inserted.highlight|second][diff.inserted| line]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
354 [diff.inserted|+third line starts with space]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
355 [diff.inserted|+][diff.inserted.highlight|-][diff.inserted| starts with a ][diff.inserted.highlight|minus][diff.inserted| sign]
35328
4937db58b663 patch: move part of tabsplitter logic in _inlinediff
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 35277
diff changeset
356 [diff.inserted|+][diff.tab| ][diff.inserted|this one with ][diff.inserted.highlight|two][diff.inserted| tab]
4937db58b663 patch: move part of tabsplitter logic in _inlinediff
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 35277
diff changeset
357 [diff.inserted|+][diff.tab| ][diff.inserted|now with full ][diff.inserted.highlight|three][diff.inserted| tabs]
4937db58b663 patch: move part of tabsplitter logic in _inlinediff
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 35277
diff changeset
358 [diff.inserted|+][diff.tab| ][diff.inserted|now][diff.inserted.highlight| there are][diff.inserted| tabs][diff.tab| ][diff.inserted|everywhere, much fun]
35277
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
359
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
360 this line won't change
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
361
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
362 two lines are going to
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
363 [diff.deleted|-be changed into ][diff.deleted.highlight|three][diff.deleted|!]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
364 [diff.inserted|+(entirely magically,]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
365 [diff.inserted|+ assuming this works)]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
366 [diff.inserted|+be changed into ][diff.inserted.highlight|four][diff.inserted|!]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
367
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
368 [diff.deleted|-three of those lines ][diff.deleted.highlight|will]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
369 [diff.deleted|-][diff.deleted.highlight|collapse][diff.deleted| onto one]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
370 [diff.deleted|-(to see if it works)]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
371 [diff.inserted|+three of those lines ][diff.inserted.highlight|have]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
372 [diff.inserted|+][diff.inserted.highlight|collapsed][diff.inserted| onto one]
35383
82c3762349ac patch: do not break up multibyte character when highlighting word
Yuya Nishihara <yuya@tcha.org>
parents: 35328
diff changeset
373
82c3762349ac patch: do not break up multibyte character when highlighting word
Yuya Nishihara <yuya@tcha.org>
parents: 35328
diff changeset
374 multibyte character shouldn't be broken up in word diff:
82c3762349ac patch: do not break up multibyte character when highlighting word
Yuya Nishihara <yuya@tcha.org>
parents: 35328
diff changeset
375
82c3762349ac patch: do not break up multibyte character when highlighting word
Yuya Nishihara <yuya@tcha.org>
parents: 35328
diff changeset
376 $ $PYTHON <<'EOF'
82c3762349ac patch: do not break up multibyte character when highlighting word
Yuya Nishihara <yuya@tcha.org>
parents: 35328
diff changeset
377 > with open("utf8", "wb") as f:
82c3762349ac patch: do not break up multibyte character when highlighting word
Yuya Nishihara <yuya@tcha.org>
parents: 35328
diff changeset
378 > f.write(b"blah \xe3\x82\xa2 blah\n")
82c3762349ac patch: do not break up multibyte character when highlighting word
Yuya Nishihara <yuya@tcha.org>
parents: 35328
diff changeset
379 > EOF
82c3762349ac patch: do not break up multibyte character when highlighting word
Yuya Nishihara <yuya@tcha.org>
parents: 35328
diff changeset
380 $ hg ci -Am 'add utf8 char' utf8
82c3762349ac patch: do not break up multibyte character when highlighting word
Yuya Nishihara <yuya@tcha.org>
parents: 35328
diff changeset
381 $ $PYTHON <<'EOF'
82c3762349ac patch: do not break up multibyte character when highlighting word
Yuya Nishihara <yuya@tcha.org>
parents: 35328
diff changeset
382 > with open("utf8", "wb") as f:
82c3762349ac patch: do not break up multibyte character when highlighting word
Yuya Nishihara <yuya@tcha.org>
parents: 35328
diff changeset
383 > f.write(b"blah \xe3\x82\xa4 blah\n")
82c3762349ac patch: do not break up multibyte character when highlighting word
Yuya Nishihara <yuya@tcha.org>
parents: 35328
diff changeset
384 > EOF
82c3762349ac patch: do not break up multibyte character when highlighting word
Yuya Nishihara <yuya@tcha.org>
parents: 35328
diff changeset
385 $ hg ci -m 'slightly change utf8 char' utf8
82c3762349ac patch: do not break up multibyte character when highlighting word
Yuya Nishihara <yuya@tcha.org>
parents: 35328
diff changeset
386 $ hg diff --config experimental.worddiff=True --color=debug -c.
82c3762349ac patch: do not break up multibyte character when highlighting word
Yuya Nishihara <yuya@tcha.org>
parents: 35328
diff changeset
387 [diff.diffline|diff --git a/utf8 b/utf8]
82c3762349ac patch: do not break up multibyte character when highlighting word
Yuya Nishihara <yuya@tcha.org>
parents: 35328
diff changeset
388 [diff.file_a|--- a/utf8]
82c3762349ac patch: do not break up multibyte character when highlighting word
Yuya Nishihara <yuya@tcha.org>
parents: 35328
diff changeset
389 [diff.file_b|+++ b/utf8]
82c3762349ac patch: do not break up multibyte character when highlighting word
Yuya Nishihara <yuya@tcha.org>
parents: 35328
diff changeset
390 [diff.hunk|@@ -1,1 +1,1 @@]
82c3762349ac patch: do not break up multibyte character when highlighting word
Yuya Nishihara <yuya@tcha.org>
parents: 35328
diff changeset
391 [diff.deleted|-blah ][diff.deleted.highlight|\xe3\x82\xa2][diff.deleted| blah] (esc)
82c3762349ac patch: do not break up multibyte character when highlighting word
Yuya Nishihara <yuya@tcha.org>
parents: 35328
diff changeset
392 [diff.inserted|+blah ][diff.inserted.highlight|\xe3\x82\xa4][diff.inserted| blah] (esc)