Skip to contentSkip to conversation

Diff colorizer confused by dos newlines

DISCUSSION Phillip Susi 2 participants 3 messages Jun 15, 2016

lore
Share & tools
lore
#0 lore raw

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

When I try to look at a color diff of a file using dos newlines, the output gets an odd sequence of ansi escapes and a stray carriage return showing up only on the + lines, but not the -. The normal looking - lines look like this:

\r\n ( from previous line ), ansi color escape, '-', whitespace, text, terminating ansi escpae ( [m ), \r\n.

The broken + lines look like this:

\r\n ( from previous line ), ansi color sequence, '+', terminating ansi escape ( [m ), whitespace, ansi color sequence, text, terminating ansi escape, ansi color sequence, stray \r, terminating ansi escape, \n.

Any suggestions on how to resolve this?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.17 (MingW32)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBAgAGBQJR3FZQAAoJEJrBOlT6nu75mvIIAKVKcK2GeVNHKRBkkljqE1U5 2piftz+CO6sVZGba8DUxMdbA5tCDQrz11yzowuKXDtyr1hxhgjBoXcsN36RZhYdu gijE6qF5w/na6MdPgJ7LMizHo8xOeVGhrDr+qhM/5nD77rVumtEnGAdoEqdY+uY3 mYfHaz2dHAG3W7mOlfvycb4HhRBao64pGh5JnuyvvnZKSXkOyJozjzTEzC7tuNU8 b9qofVKnTMse7Ek6jGp64GNaxxtcQCt1J8cd2uOJtROUK2g9KgVhy2QSRFqoZ1yO zEtTD28bj7nWJubsgVyOdtx0ClxiO1RHQRqQH2/zQM6NlfntAljD15bHcPNJaKo= =g3R+
-----END PGP SIGNATURE-----

#1 lore raw
Quoted 5 lines · Phillip Susi

When I try to look at a color diff of a file using dos newlines, the output gets an odd sequence of ansi escapes and a stray carriage return showing up only on the + lines, but not the -. The normal looking - lines look like this:

Quoted 8 lines

\r\n ( from previous line ), ansi color escape, '-', whitespace, text, terminating ansi escpae ( [m ), \r\n.

The broken + lines look like this:

\r\n ( from previous line ), ansi color sequence, '+', terminating ansi escape ( [m ), whitespace, ansi color sequence, text, terminating ansi escape, ansi color sequence, stray \r, terminating ansi escape, \n.

That's intentional; the added lines go through the "whitespace checker" to help you identify potential whitespace problems (there is not much point showing them on lines going away, since you are getting rid of them).

Quoted 1 line

Any suggestions on how to resolve this?

Try:

git config core.whitespace cr-at-eol

See the description of "core.whitespace" in "git help config" for more details.

-Peff

#2 lore raw

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Of course! Thanks, now it completely makes sense.

Quoted 24 lines · Jeff King
Quoted 8 lines · Phillip Susi

When I try to look at a color diff of a file using dos newlines, the output gets an odd sequence of ansi escapes and a stray carriage return showing up only on the + lines, but not the -. The normal looking - lines look like this:

\r\n ( from previous line ), ansi color escape, '-', whitespace, text, terminating ansi escpae ( [m ), \r\n.

Quoted 6 lines

The broken + lines look like this:

\r\n ( from previous line ), ansi color sequence, '+', terminating ansi escape ( [m ), whitespace, ansi color sequence, text, terminating ansi escape, ansi color sequence, stray \r, terminating ansi escape, \n.

That's intentional; the added lines go through the "whitespace checker" to help you identify potential whitespace problems (there is not much point showing them on lines going away, since you are getting rid of them).

Quoted 1 line

Any suggestions on how to resolve this?

Quoted 9 lines

Try:

git config core.whitespace cr-at-eol

See the description of "core.whitespace" in "git help config" for more details.

-Peff

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBAgAGBQJR3J5IAAoJEJrBOlT6nu757gIIAMx+w7oCXZt66z57VhZi2yl0 PmL1HKGQ9+aqerwBtcOFvQL+b8s8o0nLUg3jkHWUFLdEtTIsLSlEwyJBhCzbWQQh NzzuwtzGdoXWxj8lFf1PakLRpWg0IW0QJ6WuMltEZMvPvF4jyt3yCArS0StpZEG/ PhQoEsgg8XjgvP6KIpZDc/CoElKn0fyWf0HlLFwV+k+cCgQM+y7POnGdzGwKIM+O U5QJxWZmNFuznJHxkd+YWIsAZuHS/eH4Tz97/Abl9z30k+/4eHvD/Hd47RCTLrC1 90IiBKp9vvPWJHA+6c1WTwiTnn54CpudKstB499aaMRsvXBzXHcdD+Tkb38imwI= =WMkZ
-----END PGP SIGNATURE-----