threads / discuss / 57166

Git Diff feature request

Subject: Git Diff feature request

## tl;dr

5 messages between Dec 30, 2021 and Jan 3, 2022.

replies: 4people: 3as markdown or json

Nick Gearls· Dec 30, 2021, 11:33 UTC · lore

On top of the option ignore-all-space, it would be very handy (for several programming languages) to have an additional option ignore-all-space-and-eol where the following snippets would be equivalent:

if (...) a = 1
if (...)
    a = 1
Thanks
rsbecker@nexbridge.com· Dec 30, 2021, 12:26 UTC · re: Nick Gearls · lore

RE: Git Diff feature request

On December 30, 2021 6:33 AM, Nick Gearls wrote:
Show 8 quoted lines
> On top of the option ignore-all-space, it would be very handy (for several
> programming languages) to have an additional option ignore-all-space-and-
> eol where the following snippets would be equivalent:
> 
> if (...) a = 1
> 
> if (...)
>     a = 1
One interesting technique I have seen used is to set up a pre-commit hook and/or clean filter to format code according to corporate/team standards. Reprocessing code prior to the commit would allow a normalization of coding standards and removing of EOL or space/tab concerns. So even if a developer did
if (...) a= 1
By the time it reaches the repo, it looks like
if (...)
    a = 1
We use a similar technique (enforced only by policy right now, not a hook), which is to require code to run through standard IDE source formatting. Improperly formatted code hitting pull requests gets a decline until the code is properly formatted. A pull request diff might not include an above suggested diff option.
--Randall
Erik Cervin Edin· Dec 31, 2021, 11:15 UTC · re: rsbecker@nexbridge.com · lore

Re: Git Diff feature request

On Fri, Dec 31, 2021 at 11:23 AM <rsbecker@nexbridge.com> wrote:
> One interesting technique I have seen used is to set up a pre-commit hook and/or clean filter to format code according to corporate/team standards. Reprocessing code prior to the commit would allow a normalization of coding standards and removing of EOL or space/tab concerns.
> ...
> We use a similar technique (enforced only by policy right now, not a hook), which is to require code to run through standard IDE source formatting. Improperly formatted code hitting pull requests gets a decline until the code is properly formatted.
I agree with Randall, the easiest solution is to adhere to a formatting standard
Nick Gearls· Jan 3, 2022, 07:53 UTC · re: Erik Cervin Edin · lore

Re: Git Diff feature request

When you want to compare 2 versions of a repo you don't own, you don't have the option to apply a formatting standard ...

On 31-12-2021 12:15, Erik Cervin Edin wrote:
Show 5 quoted lines
> On Fri, Dec 31, 2021 at 11:23 AM<rsbecker@nexbridge.com>  wrote:
>> One interesting technique I have seen used is to set up a pre-commit hook and/or clean filter to format code according to corporate/team standards. Reprocessing code prior to the commit would allow a normalization of coding standards and removing of EOL or space/tab concerns.
>> ...
>> We use a similar technique (enforced only by policy right now, not a hook), which is to require code to run through standard IDE source formatting. Improperly formatted code hitting pull requests gets a decline until the code is properly formatted.
> I agree with Randall, the easiest solution is to adhere to a formatting standard
Erik Cervin Edin· Jan 3, 2022, 10:14 UTC · lore

Re: Git Diff feature request

On Mon, Jan 3, 2022 at 8:43 AM Nick Gearls <nickgearls@gmail.com> wrote:
>
> When you want to compare 2 versions of a repo you don't own, you don't have the option to apply a formatting standard ...

You may try https://git-scm.com/docs/diff-options#Documentation/diff-options.txt---word-diff-regexltregexgt

  printf 'if (xyz) biz()\n' > bar
  git commit -m 1 bar
  printf 'if (xyz)\n  biz()\n' > bar
  git commit -m 2 bar
  git diff --word-diff-regex='[^[:space:]]' HEAD~
yields a diff with differences hidden
diff --git a/bar b/bar
index 49d380e..05c8e60 100644
--- a/bar
+++ b/bar
@@ -1 +1,2 @@
if (xyz)
  biz()

But from gits perspective, the files are different and the lines are different.
This is the reason having an adhering to a formatting standard is advised,
and something IMHO every serious project should adhere to.

← back to recent threads