threads / discuss / 45132

new git-diff switch to eliminate leading "+" and "-" characters

Subject: new git-diff switch to eliminate leading "+" and "-" characters

## tl;dr

5 messages between Feb 13, 2017 and Feb 19, 2017.

replies: 4people: 3as markdown or json

Vanderhoof, Tzadik· Feb 13, 2017, 23:01 UTC · lore
The output of git-diff includes lines beginning with "+" and "-" to indicate added and deleted lines.  A somewhat common task (at least for me) is to want to copy output from a "diff" (usually the deleted lines) and paste it back into my code.
This is quite inconvenient because of the leading "+" and "-" characters.  I know there are shell and IDE / editor workarounds but it would be nice if there was a switch to git-diff to make it leave out those characters, especially since "--color" kind of makes those leading characters obsolete.

Would it make sense to develop such a switch or has there been work on that already? ______________________________ Tzadik Vanderhoof | Optum360 Sr Software Engineer, NLP Innovation www.optum360.com

This e-mail, including attachments, may include confidential and/or proprietary information, and may be used only by the person or entity to which it is addressed. If the reader of this e-mail is not the intended recipient or his or her authorized agent, the reader is hereby notified that any dissemination, distribution or copying of this e-mail is prohibited. If you have received this e-mail in error, please notify the sender by replying to this message and delete this e-mail immediately.

Duy Nguyen· Feb 17, 2017, 14:53 UTC · re: Vanderhoof, Tzadik · lore

Re: new git-diff switch to eliminate leading "+" and "-" characters

On Tue, Feb 14, 2017 at 6:01 AM, Vanderhoof, Tzadik <tzadik.vanderhoof@optum360.com> wrote:

> The output of git-diff includes lines beginning with "+" and "-" to indicate added and deleted lines.  A somewhat common task (at least for me) is to want to copy output from a "diff" (usually the deleted lines) and paste it back into my code.
>
> This is quite inconvenient because of the leading "+" and "-" characters.  I know there are shell and IDE / editor workarounds but it would be nice if there was a switch to git-diff to make it leave out those characters, especially since "--color" kind of makes those leading characters obsolete.

Color wouldn't show you new/old empty lines though (unless you use different background color, but I doubt that looks readable).

> Would it make sense to develop such a switch or has there been work on that already?

I face this "problem" every day, but most editors nowadays have block-based editing that would allow you to remove a column of "+/-" easily. At least it has not bothered me to think of improving it.

-- 
Duy
Vanderhoof, Tzadik· Feb 17, 2017, 16:04 UTC · re: Duy Nguyen · lore

RE: new git-diff switch to eliminate leading "+" and "-" characters

Show 26 quoted lines
> From: Duy Nguyen [mailto:pclouds@gmail.com]
> Sent: Friday, February 17, 2017 6:54 AM
> To: Vanderhoof, Tzadik
> Cc: git@vger.kernel.org
> 
> On Tue, Feb 14, 2017 at 6:01 AM, Vanderhoof, Tzadik
> <tzadik.vanderhoof@optum360.com> wrote:
> > The output of git-diff includes lines beginning with "+" and "-" to indicate
> added and deleted lines.  A somewhat common task (at least for me) is to
> want to copy output from a "diff" (usually the deleted lines) and paste it back
> into my code.
> >
> > This is quite inconvenient because of the leading "+" and "-" characters.  I
> know there are shell and IDE / editor workarounds but it would be nice if
> there was a switch to git-diff to make it leave out those characters, especially
> since "--color" kind of makes those leading characters obsolete.
> 
> Color wouldn't show you new/old empty lines though (unless you use
> different background color, but I doubt that looks readable).
> 
> > Would it make sense to develop such a switch or has there been work on
> that already?
> 
> I face this "problem" every day, but most editors nowadays have block-
> based editing that would allow you to remove a column of "+/-"
> easily. At least it has not bothered me to think of improving it.
Would a patch be welcome?
Tzadik
> --
> Duy

This e-mail, including attachments, may include confidential and/or proprietary information, and may be used only by the person or entity to which it is addressed. If the reader of this e-mail is not the intended recipient or his or her authorized agent, the reader is hereby notified that any dissemination, distribution or copying of this e-mail is prohibited. If you have received this e-mail in error, please notify the sender by replying to this message and delete this e-mail immediately.

Vanderhoof, Tzadik· Feb 17, 2017, 16:06 UTC · re: Duy Nguyen · lore

RE: new git-diff switch to eliminate leading "+" and "-" characters

Show 11 quoted lines
> From: Duy Nguyen [mailto:pclouds@gmail.com]
> Sent: Friday, February 17, 2017 6:54 AM
> To: Vanderhoof, Tzadik
> Cc: git@vger.kernel.org
> 
> > Would it make sense to develop such a switch or has there been work on
> that already?
> 
> I face this "problem" every day, but most editors nowadays have block-
> based editing that would allow you to remove a column of "+/-"
> easily. At least it has not bothered me to think of improving it.
Would a patch be welcome?
Tzadik
> --
> Duy

This e-mail, including attachments, may include confidential and/or proprietary information, and may be used only by the person or entity to which it is addressed. If the reader of this e-mail is not the intended recipient or his or her authorized agent, the reader is hereby notified that any dissemination, distribution or copying of this e-mail is prohibited. If you have received this e-mail in error, please notify the sender by replying to this message and delete this e-mail immediately.

Junio C Hamano· Feb 19, 2017, 18:59 UTC · re: Vanderhoof, Tzadik · lore

Re: new git-diff switch to eliminate leading "+" and "-" characters

"Vanderhoof, Tzadik" <tzadik.vanderhoof@optum360.com> writes:
Show 7 quoted lines
>> From: Duy Nguyen [mailto:pclouds@gmail.com]
>> 
>> I face this "problem" every day, but most editors nowadays have block-
>> based editing that would allow you to remove a column of "+/-"
>> easily. At least it has not bothered me to think of improving it.
>
> Would a patch be welcome?
I am not enthused for at least two reasons.  

The weaker one is "it would likely to introduce a lot of noise in the code for a feature of dubious merit".

The other is a bit more serious. Cutting and pasting has been a source of lost or mangled whitespaces. Tabs get expanded, a wrapped long single line turns into two lines, an originally indented line auto-indented when inserted to the receiving editor, etc., etc., depending on the pager that the output was passed through for the terminal, the terminal program itself and the editor. The "feature" will encourage cut-and-paste, and I personally would be reluctant to add things that encourage bad practice to the users.

As Duy said, saving the "diff" output to another file, opening in an editor that output file and the file the patch targets to modify, and transferring the lines while dropping unnecessray parts (i.e. unwanted context lines and preimage lines, and possibly undesired postimage lines, and also the leading SP/+/- designators) has no such downside. It obviously has an added benefit that it makes it less likely for people to cut and paste a line and then become unsure if they really cut from the green line or they by mistake also pasted an adjacent red line.

So, I'd say the answer is "probably not".

← back to recent threads