threads / bug / 27233

Possible bug with --word-diff=porcelain

Subject: Possible bug with --word-diff=porcelain

## tl;dr

One message between May 1, 2011 and May 1, 2011.

replies: 0people: 1as markdown or json

Eli Barzilay· May 1, 2011, 20:00 UTC · lore

It looks like there are cases where a newline is omitted in the output of --word-diff=porcelain:

  $ cat A
  A foo B
  zzzzzzzz
  C
  $ cat B
  A bar B
  C
  $ git diff --word-diff=porcelain A B
  diff --git a/A b/B
  index dfadf3e..3e2f1ba 100644
  --- a/A
  +++ b/B
  @@ -1,3 +1,2 @@
   A 
  -foo
  +bar
    B                        /// right
  -zzzzzzzz                  \\\ here
  ~
   C
  ~
I'd expect the output to be
  --- a/A
  +++ b/B
  @@ -1,3 +1,2 @@
   A 
  -foo
  +bar
    B
  ~
  -zzzzzzzz
  ~
   C
  ~

Actually it looks like the problem is not just in the porcelain output: I see it with other formats too, like the plain one:

  diff --git a/A b/B
  index dfadf3e..3e2f1ba 100644
  --- a/A
  +++ b/B
  @@ -1,3 +1,2 @@
  A [-foo-]{+bar+} B[-zzzzzzzz-]
  C
and with --word-diff=color:
   diff --git a/A b/B
   index dfadf3e..3e2f1ba 100644
   --- a/A
   +++ b/B
   @@ -1,3 +1,2 @@
   A foobar Bzzzzzzzz
   C
(where the colors are correct, but the newline is missing)
-- 
          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!

← back to recent threads