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 | 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 <go.wig...@gmail.com> # Copyright © 2018 Alex Vong <alexvong1...@gmail.com> # Copyright © 2019 Efraim Flashner <efr...@flashner.co.il> +# Copyright © 2020, 2021, 2023 Maxim Cournoyer <maxim.courno...@gmail.com> # Copyright © 2021 Chris Marusich <cmmarus...@gmail.com> # Copyright © 2021 Andrew Tropin <and...@trop.in> # @@ -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 = guix-patc...@gnu.org + headerCmd = etc/teams.scm cc-members-header-cmd + thread = no -- 2.39.2