Git Mailing List Archive on lore.kernel.org
 help / color / Atom feed
* [RFC] Representation of diff with trailing spaces
@ 2020-03-26 11:07 Sébastien BRUCKERT
  2020-03-26 11:15 ` Jeff King
  0 siblings, 1 reply; 3+ messages in thread
From: Sébastien BRUCKERT @ 2020-03-26 11:07 UTC (permalink / raw)
  To: git

Hello everyone,

This is my first RFC, I hope it is correct. Do not hesitate to correct me.

# Problem
Trailing spaces are represented only when added in the diff, and not
when removed.


# Abstract
Something that always bothered me with git diff was how trailing
spaces are represented. If I add spaces, then diff, they are
represented in the terminal by a red background. If I then remove
them, they are not represented. That's how I can have a diff with two
exact lines, and I'm looking for the diff in it, but can't find it.
Because it is the non-represented spaces.

# Reproducibility
One picture is worth a thousand words, here is a little snippet of
shell to see this by yourself:
```
mkdir test
cd test

git init

cat << EOF > file
This file contains line at the end before fix.
EOF

git add file
git diff --staged

sed -i 's/[[:blank:]]*$//' file

git add -p
```

# Solution proposed
Show the trailing spaces in a diff when removed.
No performance impact expected,

# Open point
Maybe we could argue on which color for added trailing spaces, and
removed ones, to differentiate them quickly in a big diff. For the
moment, added spaces are red. Maybe they should be green, and removed
should be red. Or the opposite. Or everything in red.


Thank you for taking the time to review my proposal!

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [RFC] Representation of diff with trailing spaces
  2020-03-26 11:07 [RFC] Representation of diff with trailing spaces Sébastien BRUCKERT
@ 2020-03-26 11:15 ` Jeff King
  2020-03-26 12:40   ` Sébastien BRUCKERT
  0 siblings, 1 reply; 3+ messages in thread
From: Jeff King @ 2020-03-26 11:15 UTC (permalink / raw)
  To: Sébastien BRUCKERT; +Cc: git

On Thu, Mar 26, 2020 at 12:07:55PM +0100, Sébastien BRUCKERT wrote:

> # Abstract
> Something that always bothered me with git diff was how trailing
> spaces are represented. If I add spaces, then diff, they are
> represented in the terminal by a red background. If I then remove
> them, they are not represented. That's how I can have a diff with two
> exact lines, and I'm looking for the diff in it, but can't find it.
> Because it is the non-represented spaces.

Have you tried setting diff.wsErrorHighlight? By default we only
highlight whitespace problems in new lines, but it can be told to show
them in old lines or in context.

-Peff

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [RFC] Representation of diff with trailing spaces
  2020-03-26 11:15 ` Jeff King
@ 2020-03-26 12:40   ` Sébastien BRUCKERT
  0 siblings, 0 replies; 3+ messages in thread
From: Sébastien BRUCKERT @ 2020-03-26 12:40 UTC (permalink / raw)
  To: git; +Cc: Jeff King

> > # Abstract
> > Something that always bothered me with git diff was how trailing
> > spaces are represented. If I add spaces, then diff, they are
> > represented in the terminal by a red background. If I then remove
> > them, they are not represented. That's how I can have a diff with two
> > exact lines, and I'm looking for the diff in it, but can't find it.
> > Because it is the non-represented spaces.
>
> Have you tried setting diff.wsErrorHighlight? By default we only
> highlight whitespace problems in new lines, but it can be told to show
> them in old lines or in context.
>
> -Peff

Oh yes, that was what I was looking for, thank you Peff!

Well, if there is a config for it then, no need to change anything.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, back to index

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-26 11:07 [RFC] Representation of diff with trailing spaces Sébastien BRUCKERT
2020-03-26 11:15 ` Jeff King
2020-03-26 12:40   ` Sébastien BRUCKERT

Git Mailing List Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/git/0 git/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 git git/ https://lore.kernel.org/git \
		git@vger.kernel.org
	public-inbox-index git

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.git


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git