Re: [PATCH v2 0/9] diff --color-moved-ws fixes and enhancment

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Junio

I just wanted to check that these patches are on your radar as they haven't made it into pu yet.

Best Wishes for the New Year

Phillip

On 23/11/2018 11:16, Phillip Wood wrote:
From: Phillip Wood <phillip.wood@xxxxxxxxxxxxx>

Thanks to Stefan for his feedback on v1. I've updated patches 2 & 8 in
response to those comments - see the range-diff below for details (the
patch numbers are off by one in the range diff, I think because the
first patch is unchanged and so it was used as the merge base by
--range-diff=<old-head>. For some reason the range-diff also includes
the notes even though I did not give --notes to format-patch)

When trying out the new --color-moved-ws=allow-indentation-change I
was disappointed to discover it did not work if the indentation
contains a mix of spaces and tabs. This series reworks it so that it
does.


Phillip Wood (9):
   diff: document --no-color-moved
   Use "whitespace" consistently
   diff: allow --no-color-moved-ws
   diff --color-moved-ws: demonstrate false positives
   diff --color-moved-ws: fix false positives
   diff --color-moved=zebra: be stricter with color alternation
   diff --color-moved-ws: optimize allow-indentation-change
   diff --color-moved-ws: modify allow-indentation-change
   diff --color-moved-ws: handle blank lines

  Documentation/diff-options.txt |  15 ++-
  Documentation/git-cat-file.txt |   8 +-
  diff.c                         | 219 +++++++++++++++++++++------------
  t/t4015-diff-whitespace.sh     |  99 ++++++++++++++-
  4 files changed, 255 insertions(+), 86 deletions(-)

Range-diff against v1:
1:  ae58ae4f29 ! 1:  4939ee371d diff: use whitespace consistently
     @@ -1,9 +1,10 @@
      Author: Phillip Wood <phillip.wood@xxxxxxxxxxxxx>
- diff: use whitespace consistently
     +    Use "whitespace" consistently
- Most of the documentation uses 'whitespace' rather than 'white space'
     -    or 'white spaces' convert to latter two to the former for consistency.
     +    Most of the messages and documentation use 'whitespace' rather than
     +    'white space' or 'white spaces' convert to latter two to the former for
     +    consistency.
Signed-off-by: Phillip Wood <phillip.wood@xxxxxxxxxxxxx> @@ -29,6 +30,39 @@
       	whitespace is the same per line. This is incompatible with the
       	other modes.
+ diff --git a/Documentation/git-cat-file.txt b/Documentation/git-cat-file.txt
     + --- a/Documentation/git-cat-file.txt
     + +++ b/Documentation/git-cat-file.txt
     +@@
     + stdin, and the SHA-1, type, and size of each object is printed on stdout. The
     + output format can be overridden using the optional `<format>` argument. If
     + either `--textconv` or `--filters` was specified, the input is expected to
     +-list the object names followed by the path name, separated by a single white
     +-space, so that the appropriate drivers can be determined.
     ++list the object names followed by the path name, separated by a single
     ++whitespace, so that the appropriate drivers can be determined.
     +
     + OPTIONS
     + -------
     +@@
     + 	Print object information and contents for each object provided
     + 	on stdin.  May not be combined with any other options or arguments
     + 	except `--textconv` or `--filters`, in which case the input lines
     +-	also need to specify the path, separated by white space.  See the
     ++	also need to specify the path, separated by whitespace.  See the
     + 	section `BATCH OUTPUT` below for details.
     +
     + --batch-check::
     + --batch-check=<format>::
     + 	Print object information for each object provided on stdin.  May
     + 	not be combined with any other options or arguments except
     + 	`--textconv` or `--filters`, in which case the input lines also
     +-	need to specify the path, separated by white space.  See the
     ++	need to specify the path, separated by whitespace.  See the
     + 	section `BATCH OUTPUT` below for details.
     +
     + --batch-all-objects::
     +
       diff --git a/diff.c b/diff.c
       --- a/diff.c
       +++ b/diff.c
2:  7072bc6211 = 2:  204c7fea9d diff: allow --no-color-moved-ws
3:  ce3ad19eea = 3:  542b79b215 diff --color-moved-ws: demonstrate false positives
4:  700e0b61e7 = 4:  4ffb5c4122 diff --color-moved-ws: fix false positives
5:  9ecd8159a7 = 5:  a3a84f90c5 diff --color-moved=zebra: be stricter with color alternation
6:  1b1158b1ca = 6:  f94f2e0bae diff --color-moved-ws: optimize allow-indentation-change
7:  d8a362be6a ! 7:  fe8eb9cdbc diff --color-moved-ws: modify allow-indentation-change
     @@ -17,7 +17,7 @@
This commit changes the way the indentation is handled to track the
          visual size of the indentation rather than the characters in the
     -    indentation. This has they benefit that any whitespace errors do not
     +    indentation. This has the benefit that any whitespace errors do not
          interfer with the move detection (the whitespace errors will still be
          highlighted according to --ws-error-highlight). During the discussion
          of this feature there were concerns about the correct detection of
     @@ -30,7 +30,7 @@
              they are uncolored.
Signed-off-by: Phillip Wood <phillip.wood@xxxxxxxxxxxxx>
     -    Changes since rfc:
     +    changes since rfc:
           - It now replaces the existing implementation rather than adding a new
             mode.
           - The indentation deltas are now calculated once for each line and
     @@ -49,8 +49,8 @@
       	const char *line;
       	int len;
       	int flags;
     -+	int indent_off;
     -+	int indent_width;
     ++	int indent_off;   /* Offset to first non-whitespace character */
     ++	int indent_width; /* The visual width of the indentation */
       	enum diff_symbol s;
       };
       #define EMITTED_DIFF_SYMBOL_INIT {NULL}
8:  1f7e99d45c = 8:  e600f8247c diff --color-moved-ws: handle blank lines




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux