tests/test-diff-color.t
author Manuel Jacob <me@manueljacob.de>
Mon, 29 Jun 2020 15:03:36 +0200
branchstable
changeset 45022 e3b19004087a
parent 42566 f802a75da585
permissions -rw-r--r--
convert: correctly convert paths to UTF-8 for Subversion The previous code using encoding.tolocal() only worked by chance in these situations: * The string is ASCII: The fast path was triggered and the string was returned unmodified. * The local encoding is UTF-8: The source and target encoding is the same. * The string is not valid UTF-8 and the native encoding is ISO-8859-1: If the string doesn’t decode using UTF-8, ISO-8859-1 is tried as a fallback. During `hg convert`, the local encoding is always UTF-8. The irony is that in this case, encoding.tolocal() behaves like what someone would expect the reverse function, encoding.fromlocal(), to do. When the locale encoding is ISO-8859-15, trying to convert a SVN repo `/tmp/a€` failed before like this: file:///tmp/a%C2%A4 does not look like a Subversion repository to libsvn version 1.14.0 The correct URL is `file:///tmp/a%E2%82%AC`. Unlike previously (with the ISO-8859-1 fallback), decoding the path using the locale encoding can fail. In this case, we have to bail out, as Subversion won’t be able to do anything useful with the path.
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
42566
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42071
diff changeset
   174
  \x1b[0;33mrecord this change to 'a'?\x1b[0m (esc)
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42071
diff changeset
   175
  \x1b[0;33m(enter ? for help) [Ynesfdaq?]\x1b[0m y (esc)
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
   176
  
15243
1e9451476bf8 tests: cleanup of echo statements left over from test conversion
Mads Kiilerich <mads@kiilerich.com>
parents: 13987
diff changeset
   177
12415
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
   178
  $ echo "[extensions]" >> $HGRCPATH
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
   179
  $ echo "mq=" >> $HGRCPATH
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
   180
  $ hg rollback
13446
1e497df514e2 rollback: clarifies the message about the reverted state (issue2628)
Gilles Moris <gilles.moris@free.fr>
parents: 12942
diff changeset
   181
  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
   182
  working directory now based on revision 0
9711
d29bd00bbc50 color: wrap qrecord
Martin Geisler <mg@lazybytes.net>
parents: 9641
diff changeset
   183
12415
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
   184
qrecord
9711
d29bd00bbc50 color: wrap qrecord
Martin Geisler <mg@lazybytes.net>
parents: 9641
diff changeset
   185
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
   186
  $ hg qrecord -m moda patch <<EOF
12415
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
  > y
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
   189
  > EOF
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12415
diff changeset
   190
  \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
   191
  \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
   192
  \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
   193
  1 hunks, 1 lines changed
42566
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42071
diff changeset
   194
  \x1b[0;33mexamine changes to 'a'?\x1b[0m (esc)
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42071
diff changeset
   195
  \x1b[0;33m(enter ? for help) [Ynesfdaq?]\x1b[0m y (esc)
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
   196
  
27411
c84a07530040 record: turn on showfunc
timeless <timeless@mozdev.org>
parents: 23172
diff changeset
   197
  \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
   198
   c
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
   199
   a
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
   200
   a
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12415
diff changeset
   201
  \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
   202
  \x1b[0;32m+dd\x1b[0m (esc)
12415
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
   203
   a
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
   204
   a
1ff3fc4b6a66 tests: unify test-diff-color
Matt Mackall <mpm@selenic.com>
parents: 9711
diff changeset
   205
   c
42566
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42071
diff changeset
   206
  \x1b[0;33mrecord this change to 'a'?\x1b[0m (esc)
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 42071
diff changeset
   207
  \x1b[0;33m(enter ? for help) [Ynesfdaq?]\x1b[0m y (esc)
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
   208
  
16899
8149ff405c78 tests: convert some 'hghave execbit' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16324
diff changeset
   209
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
   210
  $ 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
   211
  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
   212
  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
   213
16899
8149ff405c78 tests: convert some 'hghave execbit' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16324
diff changeset
   214
#endif
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16899
diff changeset
   215
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
   216
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
   217
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
  $ 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
   219
  $ 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
   220
  $ 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
   221
  \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
   222
  $ 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
   223
  $ 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
   224
  $ 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
   225
  $ 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
   226
  $ 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
   227
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
   228
  $ 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
   229
  \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
   230
  \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
   231
  \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
   232
  \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
   233
   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
   234
   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
   235
   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
   236
  \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
   237
  \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
   238
  \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
   239
  \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
   240
  \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
   241
   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
   242
  \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
   243
22460
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
   244
test tabs
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
   245
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
   246
  $ cat >> a <<EOF
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
   247
  > 	one tab
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
   248
  > 		two tabs
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
   249
  > end tab	
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
   250
  > mid	tab
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
   251
  > 	all		tabs	
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
   252
  > 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
   253
  $ 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
   254
  \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
   255
  \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
   256
  \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
   257
  \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
   258
   a
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
   259
   c
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
   260
   c
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+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
   262
  \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
   263
  \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
   264
  \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
   265
  \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
   266
  \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
   267
  $ echo "[color]" >> $HGRCPATH
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
   268
  $ 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
   269
  $ 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
   270
  \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
   271
  \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
   272
  \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
   273
  \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
   274
   a
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
   275
   c
c343557a8442 patch: enable diff.tab markup for the color extension
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18720
diff changeset
   276
   c
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+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
   278
  \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
   279
  \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
   280
  \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
   281
  \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
   282
  \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
   283
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16899
diff changeset
   284
  $ cd ..
35277
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   285
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   286
test inline color diff
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   287
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   288
  $ hg init inline
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   289
  $ cd inline
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   290
  $ cat > file1 << EOF
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   291
  > this is the first line
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   292
  > this is the second line
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   293
  >     third line starts with space
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   294
  > + 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
   295
  > 	this one with one tab
4937db58b663 patch: move part of tabsplitter logic in _inlinediff
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 35277
diff changeset
   296
  > 		now with full two tabs
4937db58b663 patch: move part of tabsplitter logic in _inlinediff
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 35277
diff changeset
   297
  > 	now tabs		everywhere, much fun
35277
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
  > this line won't change
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
  > two lines are going to
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   302
  > be changed into three!
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 will
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   305
  > collapse onto one
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   306
  > (to see if it works)
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   307
  > EOF
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   308
  $ hg add file1
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   309
  $ hg ci -m 'commit'
35328
4937db58b663 patch: move part of tabsplitter logic in _inlinediff
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 35277
diff changeset
   310
35277
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   311
  $ cat > file1 << EOF
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   312
  > that is the first paragraph
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   313
  >     this is the second line
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   314
  > third line starts with space
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   315
  > - 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
   316
  > 	this one with two tab
4937db58b663 patch: move part of tabsplitter logic in _inlinediff
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 35277
diff changeset
   317
  > 			now with full three tabs
4937db58b663 patch: move part of tabsplitter logic in _inlinediff
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 35277
diff changeset
   318
  > 	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
   319
  > 
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   320
  > this line won't change
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   321
  > 
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   322
  > two lines are going to
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   323
  > (entirely magically,
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   324
  >  assuming this works)
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   325
  > be changed into four!
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
  > three of those lines have
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   328
  > collapsed onto one
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   329
  > EOF
38591
be441eb65f09 diff: graduate word-diff option from experimental
Yuya Nishihara <yuya@tcha.org>
parents: 37732
diff changeset
   330
  $ 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
   331
  [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
   332
  [diff.file_a|--- a/file1]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   333
  [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
   334
  [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
   335
  [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
   336
  [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
   337
  [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
   338
  [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
   339
  [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
   340
  [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
   341
  [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
   342
  [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
   343
  [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
   344
  [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
   345
  [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
   346
  [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
   347
  [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
   348
  [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
   349
   
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   350
   this line won't change
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   351
   
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   352
   two lines are going to
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   353
  [diff.deleted|-be changed into three!]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   354
  [diff.inserted|+(entirely magically,]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   355
  [diff.inserted|+ assuming this works)]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   356
  [diff.inserted|+be changed into four!]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   357
   
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   358
  [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
   359
  [diff.deleted|-collapse onto one]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   360
  [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
   361
  [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
   362
  [diff.inserted|+collapsed onto one]
38591
be441eb65f09 diff: graduate word-diff option from experimental
Yuya Nishihara <yuya@tcha.org>
parents: 37732
diff changeset
   363
  $ 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
   364
  [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
   365
  [diff.file_a|--- a/file1]
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   366
  [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
   367
  [diff.hunk|@@ -1,16 +1,17 @@]
37732
35632d392279 patch: implement a new worddiff algorithm
Jun Wu <quark@fb.com>
parents: 37731
diff changeset
   368
  [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
   369
  [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
   370
  [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
   371
  [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
   372
  [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
   373
  [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
   374
  [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
   375
  [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
   376
  [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
   377
  [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
   378
  [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
   379
  [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
   380
  [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
   381
  [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
   382
   
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   383
   this line won't change
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   384
   
6ba79cf34f5e patch: add within-line color diff capacity
Matthieu Laneuville <matthieu.laneuville@octobus.net>
parents: 32122
diff changeset
   385
   two lines are going to
37732
35632d392279 patch: implement a new worddiff algorithm
Jun Wu <quark@fb.com>
parents: 37731
diff changeset
   386
  [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
   387
  [diff.inserted|+][diff.inserted.changed|(entirely magically,]
35632d392279 patch: implement a new worddiff algorithm
Jun Wu <quark@fb.com>
parents: 37731
diff changeset
   388
  [diff.inserted|+][diff.inserted.changed| assuming this works)]
35632d392279 patch: implement a new worddiff algorithm
Jun Wu <quark@fb.com>
parents: 37731
diff changeset
   389
  [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
   390
   
37732
35632d392279 patch: implement a new worddiff algorithm
Jun Wu <quark@fb.com>
parents: 37731
diff changeset
   391
  [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
   392
  [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
   393
  [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
   394
  [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
   395
  [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
   396
82c3762349ac patch: do not break up multibyte character when highlighting word
Yuya Nishihara <yuya@tcha.org>
parents: 35328
diff changeset
   397
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
   398
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 39618
diff changeset
   399
  $ "$PYTHON" <<'EOF'
35383
82c3762349ac patch: do not break up multibyte character when highlighting word
Yuya Nishihara <yuya@tcha.org>
parents: 35328
diff changeset
   400
  > 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
   401
  >     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
   402
  > EOF
82c3762349ac patch: do not break up multibyte character when highlighting word
Yuya Nishihara <yuya@tcha.org>
parents: 35328
diff changeset
   403
  $ hg ci -Am 'add utf8 char' utf8
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 39618
diff changeset
   404
  $ "$PYTHON" <<'EOF'
35383
82c3762349ac patch: do not break up multibyte character when highlighting word
Yuya Nishihara <yuya@tcha.org>
parents: 35328
diff changeset
   405
  > 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
   406
  >     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
   407
  > EOF
82c3762349ac patch: do not break up multibyte character when highlighting word
Yuya Nishihara <yuya@tcha.org>
parents: 35328
diff changeset
   408
  $ 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
   409
38591
be441eb65f09 diff: graduate word-diff option from experimental
Yuya Nishihara <yuya@tcha.org>
parents: 37732
diff changeset
   410
  $ 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
   411
  [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
   412
  [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
   413
  [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
   414
  [diff.hunk|@@ -1,1 +1,1 @@]
37732
35632d392279 patch: implement a new worddiff algorithm
Jun Wu <quark@fb.com>
parents: 37731
diff changeset
   415
  [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
   416
  [diff.inserted|+][diff.inserted.unchanged|blah ][diff.inserted.changed|\xe3\x82\xa4][diff.inserted.unchanged| blah] (esc)