Subject: bug#58813: [PATCH v2 3/5] Makefile.am: Auto-configure Git on 'make'.

From: Liliana Marie Prikler <[email-masked]>
Date: Mon, 24 Apr 2023 06:22:05 +0200

Am Sonntag, dem 23.04.2023 um 22:29 -0400 schrieb Maxim Cournoyer:
> This means we do not need to worry anymore about manually syncing the
> pre-push git hook or the Guix-provided git configuration.
IIUC we still need to invoke 'make .git/whatever' manually, and I'd
actually like it to be that way, just with a nice phony target like
'make git-config' or 'make .git'.  WDYT?

> * etc/git/gitconfig: Augment configuration template with useful
> options to allow for auto-configuration.
> * Makefile.am (.git/hooks/pre-push, .git/config): New targets.
> (nodist_noinst_DATA): New primary variable holding the above targets.
> ---
>  Makefile.am       | 10 ++++++++++
>  etc/git/gitconfig | 15 +++++++++++++++
>  2 files changed, 25 insertions(+)
> 
> diff --git a/Makefile.am b/Makefile.am
> index 23b939b674..7daa7d66f7 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -14,6 +14,7 @@
>  # Copyright © 2018 Oleg Pykhalov <[email-masked]>
>  # Copyright © 2018 Alex Vong <[email-masked]>
>  # Copyright © 2019 Efraim Flashner <[email-masked]>
> +# Copyright © 2020, 2021, 2023 Maxim Cournoyer
> <[email-masked]>
>  # Copyright © 2021 Chris Marusich <[email-masked]>
>  # Copyright © 2021 Andrew Tropin <[email-masked]>
>  #
> @@ -1109,6 +1110,15 @@ cuirass-jobs: $(GOBJECTS)
>  .PHONY: clean-go make-go as-derivation authenticate
>  .PHONY: update-guix-package update-NEWS cuirass-jobs release
>  
> +# Git auto-configuration.
> +.git/hooks/pre-push: etc/git/pre-push
> +       cp etc/git/pre-push .git/hooks/pre-push
> +
> +.git/config: etc/git/gitconfig
> +       git config include.path ../etc/git/gitconfig
> +
> +nodist_noinst_DATA = .git/hooks/pre-push .git/config
> +
>  # Downloading up-to-date PO files.
>  
>  WEBLATE_REPO = https://framagit.org/tyreunom/guix-translations
> diff --git a/etc/git/gitconfig b/etc/git/gitconfig
> index c9ebdc8fa8..0b6984a05f 100644
> --- a/etc/git/gitconfig
> +++ b/etc/git/gitconfig
> @@ -1,5 +1,20 @@
> +[commit]
> +        gpgsign = true
> +
>  [diff "scheme"]
>         xfuncname = "^(\\(define.*)$"
>  
>  [diff "texinfo"]
>         xfuncname = "^@node[[:space:]]+([^,]+).*$"
> +
> +[format]
> +        useAutoBase = true
> +        thread = shallow
> +
> +[pull]
> +        rebase = true
> +
> +[sendemail]
> +        to = [email-masked]
> +        headerCmd = etc/teams.scm cc-members-header-cmd
> +        thread = no

Otherwise LGTM.

Cheers