tests/test-diff-color.t
author Martin von Zweigbergk <martinvonz@google.com>
Wed, 17 Apr 2019 23:10:29 -0700
changeset 42230 fdbeacb9d456
parent 42071 db72f9f6580e
child 42566 f802a75da585
permissions -rw-r--r--
copies: filter out copies from non-existent source later in _chain() _changesetforwardcopies() repeatedly calls _chain(). That is very expensive because _chain() does lookups in the manifest. I hope to split up the function in two parts: 1) simple chaining, not considering end points, and 2) filter out files that don't exist in the end points (and ping-pong copies/renames). This patches gets us closer to that by moving the check for non-existent source later in the function. Now there are no more checks for "src" and "dst" in the first loop; all the filtering of invalid copies is done in the second loop. The code also looks much more consistent now. No measureable impact on `hg debugpathcopies 4.0 4.8`. That shouldn't be surprising since the only case we're doing more checks now is in case of chained copies/renames, which are quire rare in practice. Differential Revision: https://phab.mercurial-scm.org/D6277
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
39091
ddc1da134772 addremove: add associated color for the new labels
Boris Feld <boris.feld@octobus.net>
parents: 38752
diff changeset
    25
  \x1b[0;32madding a\x1b[0m (esc)
12415
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
38660
b07b691d2667 tests: add diff color trailing whitespace test
Sune Foldager <cryo@cyanite.org>
parents: 38591
diff changeset
    54
trailing whitespace
b07b691d2667 tests: add diff color trailing whitespace test
Sune Foldager <cryo@cyanite.org>
parents: 38591
diff changeset
    55
b07b691d2667 tests: add diff color trailing whitespace test
Sune Foldager <cryo@cyanite.org>
parents: 38591
diff changeset
    56
  $ cp a a.orig
38752
8623a6c96998 tests: use inline Python instead of sed to add trailing whitespace
Augie Fackler <augie@google.com>
parents: 38660
diff changeset
    57
  >>> with open('a', 'rb') as f:
8623a6c96998 tests: use inline Python instead of sed to add trailing whitespace
Augie Fackler <augie@google.com>
parents: 38660
diff changeset
    58
  ...     data = f.read()
8623a6c96998 tests: use inline Python instead of sed to add trailing whitespace
Augie Fackler <augie@google.com>
parents: 38660
diff changeset
    59
  >>> with open('a', 'wb') as f:
39618
2f40bcebad30 py3: suppress the return value from .write() call
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39617
diff changeset
    60
  ...     f.write(data.replace(b'dd', b'dd \r')) and None
38660
b07b691d2667 tests: add diff color trailing whitespace test
Sune Foldager <cryo@cyanite.org>
parents: 38591
diff changeset
    61
  $ hg diff --nodates
b07b691d2667 tests: add diff color trailing whitespace test
Sune Foldager <cryo@cyanite.org>
parents: 38591
diff changeset
    62
  \x1b[0;1mdiff -r cf9f4ba66af2 a\x1b[0m (esc)
b07b691d2667 tests: add diff color trailing whitespace test
Sune Foldager <cryo@cyanite.org>
parents: 38591
diff changeset
    63
  \x1b[0;31;1m--- a/a\x1b[0m (esc)
b07b691d2667 tests: add diff color trailing whitespace test
Sune Foldager <cryo@cyanite.org>
parents: 38591
diff changeset
    64
  \x1b[0;32;1m+++ b/a\x1b[0m (esc)
b07b691d2667 tests: add diff color trailing whitespace test
Sune Foldager <cryo@cyanite.org>
parents: 38591
diff changeset
    65
  \x1b[0;35m@@ -2,7 +2,7 @@\x1b[0m (esc)
b07b691d2667 tests: add diff color trailing whitespace test
Sune Foldager <cryo@cyanite.org>
parents: 38591
diff changeset
    66
   c
b07b691d2667 tests: add diff color trailing whitespace test
Sune Foldager <cryo@cyanite.org>
parents: 38591
diff changeset
    67
   a
b07b691d2667 tests: add diff color trailing whitespace test
Sune Foldager <cryo@cyanite.org>
parents: 38591
diff changeset
    68
   a
b07b691d2667 tests: add diff color trailing whitespace test
Sune Foldager <cryo@cyanite.org>
parents: 38591
diff changeset
    69
  \x1b[0;31m-b\x1b[0m (esc)
b07b691d2667 tests: add diff color trailing whitespace test
Sune Foldager <cryo@cyanite.org>
parents: 38591
diff changeset
    70
  \x1b[0;32m+dd\x1b[0m\x1b[0;1;41m \x1b[0m\r (esc)
b07b691d2667 tests: add diff color trailing whitespace test
Sune Foldager <cryo@cyanite.org>
parents: 38591
diff changeset
    71
   a
b07b691d2667 tests: add diff color trailing whitespace test
Sune Foldager <cryo@cyanite.org>
parents: 38591
diff changeset
    72
   a
b07b691d2667 tests: add diff color trailing whitespace test
Sune Foldager <cryo@cyanite.org>
parents: 38591
diff changeset
    73
   c
b07b691d2667 tests: add diff color trailing whitespace test
Sune Foldager <cryo@cyanite.org>
parents: 38591
diff changeset
    74
b07b691d2667 tests: add diff color trailing whitespace test
Sune Foldager <cryo@cyanite.org>
parents: 38591
diff changeset
    75
  $ mv a.orig a
b07b691d2667 tests: add diff color trailing whitespace test
Sune Foldager <cryo@cyanite.org>
parents: 38591
diff changeset
    76
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
    77
(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
    78
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
  $ 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
    80
  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
    81
  --- 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
    82
  +++ 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
    83
  @@ -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
    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
   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
    86
   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
    87
  -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
    88
  +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
    89
   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
    90
   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
    91
   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
    92
9a85ea1daf49 color: turn 'ui.color' into a boolean (auto or off)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31110
diff changeset
    93
(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
    94
9a85ea1daf49 color: turn 'ui.color' into a boolean (auto or off)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31110
diff changeset
    95
  $ 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
    96
  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
    97
  --- 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
    98
  +++ 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
    99
  @@ -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
   100
   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
   101
   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
   102
   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
   103
  -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
   104
  +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
   105
   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
   106
   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
   107
   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
   108
32103
9a98023ac8db color: special case 'always' in 'ui.color'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32102
diff changeset
   109
(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
   110
9a98023ac8db color: special case 'always' in 'ui.color'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32102
diff changeset
   111
  $ 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
   112
  \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
   113
  \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
   114
  \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
   115
  \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
   116
   c
9a98023ac8db color: special case 'always' in 'ui.color'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32102
diff changeset
   117
   a
9a98023ac8db color: special case 'always' in 'ui.color'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32102
diff changeset
   118
   a
9a98023ac8db color: special case 'always' in 'ui.color'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32102
diff changeset
   119
  \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
   120
  \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
   121
   a
9a98023ac8db color: special case 'always' in 'ui.color'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32102
diff changeset
   122
   a
9a98023ac8db color: special case 'always' in 'ui.color'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32102
diff changeset
   123
   c
9a98023ac8db color: special case 'always' in 'ui.color'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32102
diff changeset
   124
12415
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
   125
--unified=2
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
   126
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
   127
  $ 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
   128
  \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
   129
  \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
   130
  \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
   131
  \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
   132
   a
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
   133
   a
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12415
diff changeset
   134
  \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
   135
  \x1b[0;32m+dd\x1b[0m (esc)
12415
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
   136
   a
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
   137
   a
7458
03dd55115985 color: Add tests for colorized diff and status output.
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
   138
12415
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
   139
diffstat
9579
c06e7581bbaa color: add test for record support
Brodie Rao <me+hg@dackz.net>
parents: 7458
diff changeset
   140
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
   141
  $ hg diff --stat
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12415
diff changeset
   142
   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
   143
   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
   144
  $ 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
   145
  > [extensions]
23172
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22589
diff changeset
   146
  > record =
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22589
diff changeset
   147
  > [ui]
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22589
diff changeset
   148
  > interactive = true
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22589
diff changeset
   149
  > [diff]
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22589
diff changeset
   150
  > git = True
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22589
diff changeset
   151
  > EOF
9641
9b99f158348a color: colorize diff --stat
Brodie Rao <me+hg@dackz.net>
parents: 9579
diff changeset
   152
16899
8149ff405c78 tests: convert some 'hghave execbit' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16324
diff changeset
   153
#if execbit
8149ff405c78 tests: convert some 'hghave execbit' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16324
diff changeset
   154
12415
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
   155
record
9579
c06e7581bbaa color: add test for record support
Brodie Rao <me+hg@dackz.net>
parents: 7458
diff changeset
   156
15442
db0340f4b507 tests: use 'hghave execbit' for tests that manipulate x bit in file system
Mads Kiilerich <mads@kiilerich.com>
parents: 15243
diff changeset
   157
  $ 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
   158
  $ hg record -m moda a <<EOF
12415
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
   159
  > y
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
   160
  > EOF
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12415
diff changeset
   161
  \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
   162
  \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
   163
  \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
   164
  1 hunks, 1 lines changed
27411
c84a07530040 record: turn on showfunc
timeless <timeless@mozdev.org>
parents: 23172
diff changeset
   165
  \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
   166
   c
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
   167
   a
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
   168
   a
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12415
diff changeset
   169
  \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
   170
  \x1b[0;32m+dd\x1b[0m (esc)
12415
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
   171
   a
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
   172
   a
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
   173
   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
   174
  \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
   175
  
15243
1e9451476bf8 tests: cleanup of echo statements left over from test conversion
Mads Kiilerich <mads@kiilerich.com>
parents: 13987
diff changeset
   176
12415
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
   177
  $ echo "[extensions]" >> $HGRCPATH
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
   178
  $ echo "mq=" >> $HGRCPATH
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
   179
  $ hg rollback
13446
1e497df514e2 rollback: clarifies the message about the reverted state (issue2628)
Gilles Moris <gilles.moris@free.fr>
parents: 12942
diff changeset
   180
  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
   181
  working directory now based on revision 0
9711
d29bd00bbc50 color: wrap qrecord
Martin Geisler <mg@lazybytes.net>
parents: 9641
diff changeset
   182
12415
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
   183
qrecord
9711
d29bd00bbc50 color: wrap qrecord
Martin Geisler <mg@lazybytes.net>
parents: 9641
diff changeset
   184
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
   185
  $ hg qrecord -m moda patch <<EOF
12415
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
   186
  > y
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
   187
  > y
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
   188
  > EOF
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12415
diff changeset
   189
  \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
   190
  \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
   191
  \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
   192
  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
   193
  \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
   194
  
27411
c84a07530040 record: turn on showfunc
timeless <timeless@mozdev.org>
parents: 23172
diff changeset
   195
  \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
   196
   c
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
   197
   a
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
   198
   a
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12415
diff changeset
   199
  \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
   200
  \x1b[0;32m+dd\x1b[0m (esc)
12415
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
   201
   a
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
   202
   a
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
   203
   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
   204
  \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
   205
  
16899
8149ff405c78 tests: convert some 'hghave execbit' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16324
diff changeset
   206
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
   207
  $ 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
   208
  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
   209
  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
   210
16899
8149ff405c78 tests: convert some 'hghave execbit' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16324
diff changeset
   211
#endif
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16899
diff changeset
   212
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
   213
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
   214
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
  $ 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
   216
  $ 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
   217
  $ hg -R sub commit -Am 'create sub'
39091
ddc1da134772 addremove: add associated color for the new labels
Boris Feld <boris.feld@octobus.net>
parents: 38752
diff changeset
   218
  \x1b[0;32madding 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
   219
  $ 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
   220
  $ 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
   221
  $ 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
   222
  $ 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
   223
  $ 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
   224
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
   225
  $ 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
   226
  \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
   227
  \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
   228
  \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
   229
  \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
   230
   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
   231
   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
   232
   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
   233
  \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
   234
  \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
   235
  \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
   236
  \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
   237
  \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
   238
   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
   239
  \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
   240
22460
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
   241
test tabs
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
   242
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
   243
  $ cat >> a <<EOF
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
   244
  > 	one tab
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
   245
  > 		two tabs
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
   246
  > end tab	
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
   247
  > mid	tab
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
   248
  > 	all		tabs	
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
   249
  > 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
   250
  $ 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
   251
  \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
   252
  \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
   253
  \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
   254
  \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
   255
   a
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
   256
   c
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
   257
   c
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+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
   259
  \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
   260
  \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
   261
  \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
   262
  \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
   263
  \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
   264
  $ echo "[color]" >> $HGRCPATH
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
   265
  $ 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
   266
  $ 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
   267
  \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
   268
  \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
   269
  \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
   270
  \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
   271
   a
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
   272
   c
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
   273
   c
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
   274
  \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
   275
  \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
   276
  \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
   277
  \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
   278
  \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
   279
  \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
   280
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16899
diff changeset
   281
  $ cd ..
35277
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   282
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   283
test inline color diff
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   284
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   285
  $ hg init inline
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   286
  $ cd inline
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   287
  $ cat > file1 << EOF
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   288
  > this is the first line
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   289
  > this is the second line
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   290
  >     third line starts with space
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   291
  > + 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
   292
  > 	this one with one tab
4937db58b663 patch: move part of tabsplitter logic in _inlinediff
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 35277
diff changeset
   293
  > 		now with full two tabs
4937db58b663 patch: move part of tabsplitter logic in _inlinediff
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 35277
diff changeset
   294
  > 	now tabs		everywhere, much fun
35277
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   295
  > 
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   296
  > this line won't change
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   297
  > 
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   298
  > two lines are going to
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   299
  > be changed into three!
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   300
  > 
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   301
  > three of those lines will
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   302
  > collapse onto one
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   303
  > (to see if it works)
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   304
  > EOF
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   305
  $ hg add file1
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   306
  $ hg ci -m 'commit'
35328
4937db58b663 patch: move part of tabsplitter logic in _inlinediff
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 35277
diff changeset
   307
35277
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   308
  $ cat > file1 << EOF
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   309
  > that is the first paragraph
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   310
  >     this is the second line
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   311
  > third line starts with space
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   312
  > - 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
   313
  > 	this one with two tab
4937db58b663 patch: move part of tabsplitter logic in _inlinediff
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 35277
diff changeset
   314
  > 			now with full three tabs
4937db58b663 patch: move part of tabsplitter logic in _inlinediff
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 35277
diff changeset
   315
  > 	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
   316
  > 
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   317
  > this line won't change
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   318
  > 
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   319
  > two lines are going to
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   320
  > (entirely magically,
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   321
  >  assuming this works)
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   322
  > be changed into four!
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   323
  > 
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   324
  > three of those lines have
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   325
  > collapsed onto one
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   326
  > EOF
38591
be441eb65f09 diff: graduate word-diff option from experimental
Yuya Nishihara <yuya@tcha.org>
parents: 37732
diff changeset
   327
  $ hg diff --config diff.word-diff=False --color=debug
35277
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   328
  [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
   329
  [diff.file_a|--- a/file1]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   330
  [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
   331
  [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
   332
  [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
   333
  [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
   334
  [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
   335
  [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
   336
  [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
   337
  [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
   338
  [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
   339
  [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
   340
  [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
   341
  [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
   342
  [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
   343
  [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
   344
  [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
   345
  [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
   346
   
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   347
   this line won't change
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   348
   
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   349
   two lines are going to
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   350
  [diff.deleted|-be changed into three!]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   351
  [diff.inserted|+(entirely magically,]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   352
  [diff.inserted|+ assuming this works)]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   353
  [diff.inserted|+be changed into four!]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   354
   
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   355
  [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
   356
  [diff.deleted|-collapse onto one]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   357
  [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
   358
  [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
   359
  [diff.inserted|+collapsed onto one]
38591
be441eb65f09 diff: graduate word-diff option from experimental
Yuya Nishihara <yuya@tcha.org>
parents: 37732
diff changeset
   360
  $ hg diff --config diff.word-diff=True --color=debug
35277
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   361
  [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
   362
  [diff.file_a|--- a/file1]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   363
  [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
   364
  [diff.hunk|@@ -1,16 +1,17 @@]
37732
35632d392279 patch: implement a new worddiff algorithm
Jun Wu <quark@fb.com>
parents: 37731
diff changeset
   365
  [diff.deleted|-][diff.deleted.changed|this][diff.deleted.unchanged| is the first ][diff.deleted.changed|line]
35632d392279 patch: implement a new worddiff algorithm
Jun Wu <quark@fb.com>
parents: 37731
diff changeset
   366
  [diff.deleted|-][diff.deleted.unchanged|this is the second line]
35632d392279 patch: implement a new worddiff algorithm
Jun Wu <quark@fb.com>
parents: 37731
diff changeset
   367
  [diff.deleted|-][diff.deleted.changed|    ][diff.deleted.unchanged|third line starts with space]
35632d392279 patch: implement a new worddiff algorithm
Jun Wu <quark@fb.com>
parents: 37731
diff changeset
   368
  [diff.deleted|-][diff.deleted.changed|+][diff.deleted.unchanged| starts with a ][diff.deleted.changed|plus][diff.deleted.unchanged| sign]
35632d392279 patch: implement a new worddiff algorithm
Jun Wu <quark@fb.com>
parents: 37731
diff changeset
   369
  [diff.deleted|-][diff.tab|	][diff.deleted.unchanged|this one with ][diff.deleted.changed|one][diff.deleted.unchanged| tab]
35632d392279 patch: implement a new worddiff algorithm
Jun Wu <quark@fb.com>
parents: 37731
diff changeset
   370
  [diff.deleted|-][diff.tab|		][diff.deleted.unchanged|now with full ][diff.deleted.changed|two][diff.deleted.unchanged| tabs]
35632d392279 patch: implement a new worddiff algorithm
Jun Wu <quark@fb.com>
parents: 37731
diff changeset
   371
  [diff.deleted|-][diff.tab|	][diff.deleted.unchanged|now ][diff.deleted.unchanged|tabs][diff.tab|		][diff.deleted.unchanged|everywhere, much fun]
35632d392279 patch: implement a new worddiff algorithm
Jun Wu <quark@fb.com>
parents: 37731
diff changeset
   372
  [diff.inserted|+][diff.inserted.changed|that][diff.inserted.unchanged| is the first ][diff.inserted.changed|paragraph]
35632d392279 patch: implement a new worddiff algorithm
Jun Wu <quark@fb.com>
parents: 37731
diff changeset
   373
  [diff.inserted|+][diff.inserted.changed|    ][diff.inserted.unchanged|this is the second line]
35632d392279 patch: implement a new worddiff algorithm
Jun Wu <quark@fb.com>
parents: 37731
diff changeset
   374
  [diff.inserted|+][diff.inserted.unchanged|third line starts with space]
35632d392279 patch: implement a new worddiff algorithm
Jun Wu <quark@fb.com>
parents: 37731
diff changeset
   375
  [diff.inserted|+][diff.inserted.changed|-][diff.inserted.unchanged| starts with a ][diff.inserted.changed|minus][diff.inserted.unchanged| sign]
35632d392279 patch: implement a new worddiff algorithm
Jun Wu <quark@fb.com>
parents: 37731
diff changeset
   376
  [diff.inserted|+][diff.tab|	][diff.inserted.unchanged|this one with ][diff.inserted.changed|two][diff.inserted.unchanged| tab]
35632d392279 patch: implement a new worddiff algorithm
Jun Wu <quark@fb.com>
parents: 37731
diff changeset
   377
  [diff.inserted|+][diff.tab|			][diff.inserted.unchanged|now with full ][diff.inserted.changed|three][diff.inserted.unchanged| tabs]
35632d392279 patch: implement a new worddiff algorithm
Jun Wu <quark@fb.com>
parents: 37731
diff changeset
   378
  [diff.inserted|+][diff.tab|	][diff.inserted.unchanged|now ][diff.inserted.changed|there are ][diff.inserted.unchanged|tabs][diff.tab|		][diff.inserted.unchanged|everywhere, much fun]
35277
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   379
   
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   380
   this line won't change
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   381
   
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   382
   two lines are going to
37732
35632d392279 patch: implement a new worddiff algorithm
Jun Wu <quark@fb.com>
parents: 37731
diff changeset
   383
  [diff.deleted|-][diff.deleted.unchanged|be changed into ][diff.deleted.changed|three][diff.deleted.unchanged|!]
35632d392279 patch: implement a new worddiff algorithm
Jun Wu <quark@fb.com>
parents: 37731
diff changeset
   384
  [diff.inserted|+][diff.inserted.changed|(entirely magically,]
35632d392279 patch: implement a new worddiff algorithm
Jun Wu <quark@fb.com>
parents: 37731
diff changeset
   385
  [diff.inserted|+][diff.inserted.changed| assuming this works)]
35632d392279 patch: implement a new worddiff algorithm
Jun Wu <quark@fb.com>
parents: 37731
diff changeset
   386
  [diff.inserted|+][diff.inserted.unchanged|be changed into ][diff.inserted.changed|four][diff.inserted.unchanged|!]
35277
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   387
   
37732
35632d392279 patch: implement a new worddiff algorithm
Jun Wu <quark@fb.com>
parents: 37731
diff changeset
   388
  [diff.deleted|-][diff.deleted.unchanged|three of those lines ][diff.deleted.changed|will]
35632d392279 patch: implement a new worddiff algorithm
Jun Wu <quark@fb.com>
parents: 37731
diff changeset
   389
  [diff.deleted|-][diff.deleted.changed|collapse][diff.deleted.unchanged| onto one]
35632d392279 patch: implement a new worddiff algorithm
Jun Wu <quark@fb.com>
parents: 37731
diff changeset
   390
  [diff.deleted|-][diff.deleted.changed|(to see if it works)]
35632d392279 patch: implement a new worddiff algorithm
Jun Wu <quark@fb.com>
parents: 37731
diff changeset
   391
  [diff.inserted|+][diff.inserted.unchanged|three of those lines ][diff.inserted.changed|have]
35632d392279 patch: implement a new worddiff algorithm
Jun Wu <quark@fb.com>
parents: 37731
diff changeset
   392
  [diff.inserted|+][diff.inserted.changed|collapsed][diff.inserted.unchanged| onto one]
35383
82c3762349ac patch: do not break up multibyte character when highlighting word
Yuya Nishihara <yuya@tcha.org>
parents: 35328
diff changeset
   393
82c3762349ac patch: do not break up multibyte character when highlighting word
Yuya Nishihara <yuya@tcha.org>
parents: 35328
diff changeset
   394
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
   395
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 39618
diff changeset
   396
  $ "$PYTHON" <<'EOF'
35383
82c3762349ac patch: do not break up multibyte character when highlighting word
Yuya Nishihara <yuya@tcha.org>
parents: 35328
diff changeset
   397
  > 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
   398
  >     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
   399
  > EOF
82c3762349ac patch: do not break up multibyte character when highlighting word
Yuya Nishihara <yuya@tcha.org>
parents: 35328
diff changeset
   400
  $ hg ci -Am 'add utf8 char' utf8
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 39618
diff changeset
   401
  $ "$PYTHON" <<'EOF'
35383
82c3762349ac patch: do not break up multibyte character when highlighting word
Yuya Nishihara <yuya@tcha.org>
parents: 35328
diff changeset
   402
  > 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
   403
  >     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
   404
  > EOF
82c3762349ac patch: do not break up multibyte character when highlighting word
Yuya Nishihara <yuya@tcha.org>
parents: 35328
diff changeset
   405
  $ hg ci -m 'slightly change utf8 char' utf8
37731
5471348921c1 patch: buffer lines for a same hunk
Jun Wu <quark@fb.com>
parents: 35383
diff changeset
   406
38591
be441eb65f09 diff: graduate word-diff option from experimental
Yuya Nishihara <yuya@tcha.org>
parents: 37732
diff changeset
   407
  $ hg diff --config diff.word-diff=True --color=debug -c.
35383
82c3762349ac patch: do not break up multibyte character when highlighting word
Yuya Nishihara <yuya@tcha.org>
parents: 35328
diff changeset
   408
  [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
   409
  [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
   410
  [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
   411
  [diff.hunk|@@ -1,1 +1,1 @@]
37732
35632d392279 patch: implement a new worddiff algorithm
Jun Wu <quark@fb.com>
parents: 37731
diff changeset
   412
  [diff.deleted|-][diff.deleted.unchanged|blah ][diff.deleted.changed|\xe3\x82\xa2][diff.deleted.unchanged| blah] (esc)
35632d392279 patch: implement a new worddiff algorithm
Jun Wu <quark@fb.com>
parents: 37731
diff changeset
   413
  [diff.inserted|+][diff.inserted.unchanged|blah ][diff.inserted.changed|\xe3\x82\xa4][diff.inserted.unchanged| blah] (esc)