diff mbox series

[bug#50363,v2] Improve default diff hunk header detection.

Message ID e6e08312afa17ee812f8b538118bec6da86d3357.1630708121.git.iskarian@mgsn.dev
State Accepted
Headers show
Series [bug#50363,v2] Improve default diff hunk header detection. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Sarah Morgensen Sept. 3, 2021, 10:39 p.m. UTC
Tell git to look for top-level definitions for diff hunk headers in
Scheme files.

.gitattributes: New file.
.gitconfig: New file.
---
Hello Guix,

This patch improves the diff hunk headers for diffs on scheme files in this
repository.  These settings are always settable (and overridable) on a
per-user basis, but I think having them as defaults is nice.

This may help with patches applying in general, but the main goal is to make
etc/committer.scm a little less brittle.

The default "scheme" function regex (enabled with .gitattributes) recognizes
both toplevel and non-toplevel defines.  I've modified the regex in .gitconfig
to only recognize the toplevel defines.  I think this makes more sense for our
purposes.

Unfortunately, checked-in git config settings cannot be automatically used
(for security reasons), and must be enabled with a once-per-clone

  git config --local include.path ../.gitconfig

which isn't ideal.  I suppose we could make a 'make' target for setup like
this if we wanted to make it easy.

WDYT?

--
Sarah

 .gitattributes | 2 ++
 .gitconfig     | 2 ++
 2 files changed, 4 insertions(+)
 create mode 100644 .gitattributes
 create mode 100644 .gitconfig


base-commit: 522a3bf99cbc21a9093f63280b9508cd69b94ff0

Comments

M Sept. 10, 2021, 5:07 p.m. UTC | #1
Sarah Morgensen schreef op vr 03-09-2021 om 15:39 [-0700]:
> Tell git to look for top-level definitions for diff hunk headers in
> Scheme files.
> 
> .gitattributes: New file.
> .gitconfig: New file.
> ---
> Hello Guix,
> 
> This patch improves the diff hunk headers for diffs on scheme files in this
> repository.  These settings are always settable (and overridable) on a
> per-user basis, but I think having them as defaults is nice.
> 
> This may help with patches applying in general, but the main goal is to make
> etc/committer.scm a little less brittle.
>
> The default "scheme" function regex (enabled with .gitattributes) recognizes
> both toplevel and non-toplevel defines.  I've modified the regex in .gitconfig
> to only recognize the toplevel defines.  I think this makes more sense for our
> purposes.
> 
> Unfortunately, checked-in git config settings cannot be automatically used
> (for security reasons), and must be enabled with a once-per-clone
> 
>   git config --local include.path ../.gitconfig
> 
> which isn't ideal.  I suppose we could make a 'make' target for setup like
> this if we wanted to make it easy.
> 
> WDYT?

This seems nice to me.
 
Greetings,
Maxime.
Ludovic Courtès Sept. 13, 2021, 10:24 a.m. UTC | #2
Hi!

Sarah Morgensen <iskarian@mgsn.dev> skribis:

> Tell git to look for top-level definitions for diff hunk headers in
> Scheme files.
>
> .gitattributes: New file.
> .gitconfig: New file.
> ---
> Hello Guix,
>
> This patch improves the diff hunk headers for diffs on scheme files in this
> repository.  These settings are always settable (and overridable) on a
> per-user basis, but I think having them as defaults is nice.
>
> This may help with patches applying in general, but the main goal is to make
> etc/committer.scm a little less brittle.
>
> The default "scheme" function regex (enabled with .gitattributes) recognizes
> both toplevel and non-toplevel defines.  I've modified the regex in .gitconfig
> to only recognize the toplevel defines.  I think this makes more sense for our
> purposes.
>
> Unfortunately, checked-in git config settings cannot be automatically used
> (for security reasons), and must be enabled with a once-per-clone
>
>   git config --local include.path ../.gitconfig
>
> which isn't ideal.  I suppose we could make a 'make' target for setup like
> this if we wanted to make it easy.
>
> WDYT?

That LGTM too.  Rather than a ‘make’ target, how about a adding a line
or two under “Contributing”?

Thanks,
Ludo’.
diff mbox series

Patch

diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000000..5c1b15e9e0
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,2 @@ 
+*.scm       diff=scheme
+*.scm.in    diff=scheme
diff --git a/.gitconfig b/.gitconfig
new file mode 100644
index 0000000000..344d829824
--- /dev/null
+++ b/.gitconfig
@@ -0,0 +1,2 @@ 
+[diff "scheme"]
+	xfuncname = "^(\\(define.*)$"