aboutsummaryrefslogtreecommitdiff
path: root/Makefile.am
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-10-08 12:18:13 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-10-22 16:09:04 -0400
commit8005e09b261d65bf0f7469cd8e89423c1c1db820 (patch)
treef98b345a8de8dfeb831e6d20fd82f4890936d825 /Makefile.am
parentfaeebdc37e9137d62e11175e83988f77496a6641 (diff)
downloadguix-8005e09b261d65bf0f7469cd8e89423c1c1db820.tar
guix-8005e09b261d65bf0f7469cd8e89423c1c1db820.tar.gz
build: Add a commit-msg hook that embeds Change-Id in commit messages.
Partially implements <https://issues.guix.gnu.org/66027>. This will make it possible to track a merged commit back to its original posting on the mailing list, and open the door to new opportunities such as closing fully merged series automatically. * Makefile.am (COMMIT_MSG_MAGIC): New variable. (.git/hooks/commit-msg): New target. * etc/git/commit-msg: New file. * doc/contributing.texi (Configuring Git): Document Change-Id. Series-changes: 3 - Clarify documentation text, as suggested by Simon Change-Id: Ia92fa958eae600fdd4e180bad494c85db8bb4dd6 Reviewed-by: Simon Tournier <zimon.toutoune@gmail.com>
Diffstat (limited to 'Makefile.am')
-rw-r--r--Makefile.am12
1 files changed, 11 insertions, 1 deletions
diff --git a/Makefile.am b/Makefile.am
index 7fdb5422f0..96fb278029 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1170,7 +1170,17 @@ cuirass-jobs: $(GOBJECTS)
git config --add include.path ../etc/git/gitconfig; \
fi
-nodist_noinst_DATA = .git/hooks/pre-push .git/config
+COMMIT_MSG_MAGIC = VGhpcyBpcyB0aGUgY29tbWl0LW1zZyBob29rIG9mIEd1aXg=
+.git/hooks/commit-msg: etc/git/commit-msg
+ $(AM_V_at)if test -d .git; then \
+ if test -f $@ && ! grep -qF $(COMMIT_MSG_MAGIC) $@; then \
+ mkdir -p $@.d && mv $@ $@.d && \
+ @ echo user commit-msg hook moved to $@.d/commit-msg; \
+ fi; \
+ cp etc/git/commit-msg $@; \
+ fi
+
+nodist_noinst_DATA = .git/hooks/pre-push .git/config .git/hooks/commit-msg
# Downloading up-to-date PO files.