From 8b972da068708a8b17f3ab153ea940690ca49ca9 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 23 Apr 2023 10:28:59 -0400 Subject: [PATCH] Makefile.am: Auto-configure Git on 'make'. This means we do not need to worry anymore about manually syncing the pre-push git hook or the Guix-provided git configuration. * 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 | 16 ++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/Makefile.am b/Makefile.am index 7fe18c9f6b..4a9124e0c2 100644 --- a/Makefile.am +++ b/Makefile.am @@ -14,6 +14,7 @@ # Copyright © 2018 Oleg Pykhalov # Copyright © 2018 Alex Vong # Copyright © 2019 Efraim Flashner +# Copyright © 2020, 2021, 2023 Maxim Cournoyer # Copyright © 2021 Chris Marusich # Copyright © 2021 Andrew Tropin # @@ -1112,6 +1113,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..831fbce6e7 100644 --- a/etc/git/gitconfig +++ b/etc/git/gitconfig @@ -1,5 +1,21 @@ +[commit] + gpgsign = true + [diff "scheme"] xfuncname = "^(\\(define.*)$" [diff "texinfo"] xfuncname = "^@node[[:space:]]+([^,]+).*$" + +[format] + forceinbodyfrom = true # help preserve commit authorship + thread = shallow + useAutoBase = true + +[pull] + rebase = true + +[sendemail] + to = guix-patches@gnu.org + headerCmd = etc/teams.scm cc-members-header-cmd + thread = no