15 Commits
Author SHA1 Message Date
Jakub Jelinek 254a858ae7 Update copyright years. 2026-01-02 09:56:11 +01:00
Mark Zhuang bc46466ec7 [PATCH] prepare-commit-msg: Add compatibility check for --default-prefix option
From: Mark Zhuang <mark.zhuang@spacemit.com>

The previous commit added --default-prefix to handle non-default git
prefix configurations, but this option is not available in older git
versions. This patch adds a compatibility check.

contrib/ChangeLog:

	* prepare-commit-msg: check --default-prefix
2025-12-05 22:16:25 -07:00
Pierre-Emmanuel Patry 90f7df6194 Handle non default git prefix configurations
Mklog parses the diff content from prepare-commit-msg hook but fails
when git has been configured with mnemonicPrefix. Forcing the default
values for the prefixes would set a distinct diff configuration supported
by mklog and prevent most failures.

contrib/ChangeLog:

	* prepare-commit-msg: Force default git prefixes.

Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
2025-07-08 14:29:58 +03:00
Jakub Jelinek 6441eb6dc0 Update copyright years. 2025-01-02 11:59:57 +01:00
Jakub Jelinek a945c346f5 Update copyright years. 2024-01-03 12:19:35 +01:00
Marc Poulhiès f3f6ff7b16 mklog: handle Signed-off-by, minor cleanup
Consider Signed-off-by lines as part of the ending of the initial
commit to avoid having these in the middle of the log when the
changelog part is injected after.

This is particularly usefull with:

 $ git gcc-commit-mklog --amend -s

that can be used to create the changelog and add the Signed-off-by line.

Also applies most of the shellcheck suggestions on the
prepare-commit-msg hook.

contrib/ChangeLog:

	* mklog.py: Leave SOB lines after changelog.
	* prepare-commit-msg: Apply most shellcheck suggestions.

Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
2023-09-04 21:43:36 +02:00
Jakub Jelinek 83ffe9cde7 Update copyright years. 2023-01-16 11:52:17 +01:00
Martin Liska 18ef76d3a1 Allow space in git commit-mklog args
contrib/ChangeLog:

	* git-commit-mklog.py: Do not parse -b argument.
	Pass mklog_args as json environment variable.
	* mklog.py: Parse GCC_MKLOG_ARGS and append it to sys.argv.
	* prepare-commit-msg: Do not append GCC_MKLOG_ARGS to args.
2022-07-22 13:19:24 +02:00
Martin Liska c2124b51a9 contrib: add git-commit-mklog wrapper
contrib/ChangeLog:

	* gcc-git-customization.sh: Use the new wrapper.
	* git-commit-mklog.py: New file.
	* prepare-commit-msg: Support GCC_MKLOG_ARGS.
2021-06-23 09:39:10 +02:00
Jonathan Wakely df665e568d contrib: Make prepare-commit-msg hook smarter for amends
With this change the prepare-commit-msg hook can compare the log of a
commit being amended with the staged changes, and not run mklog.py
unnecessarily. This is controlled by a git config option,
gcc-config.mklog-hook-type.

contrib/ChangeLog:

	* prepare-commit-msg: Use the gcc-config.mklog-hook-type Git
	config key instead of the GCC_FORCE_MKLOG environment variable.
	Optionally disable generating a new ChangeLog template for
	amended commits when the existing log is still OK.
2020-06-11 20:22:33 +01:00
Martin Liska 8ff57396d6 prepare-commit-hook: Use gcc-config.diff-file.
contrib/ChangeLog:

	* prepare-commit-msg: Replace ENV variable with a git config
	value.
2020-06-11 10:09:47 +02:00
Jonathan Wakely 9aadfdd650 contrib: Avoid redundant 'git diff' in prepare-commit-msg hook
contrib/ChangeLog:

	* prepare-commit-msg: Use 'tee' to save the diff to a file
	instead of running 'git diff' twice.
2020-06-11 09:57:58 +02:00
Jonathan Wakely 9127b52398 contrib: Make prepare-commit-msg hook safe for older branches
If a user installs this script as .git/hooks/prepare-commit-msg and then
works on an old branch which doesn't have the mklog.py script, trying to
commit will fail with an error like:

environment: /.../gcc/contrib/mklog.py: No such file or directory

This makes it exit cleanly so it's possible to commit.

contrib/ChangeLog:

	* prepare-commit-msg: Do nothing if the mklog.py script isn't
	present.
2020-06-02 11:18:21 +01:00
Martin Liska 7b8ee33aff prepare-commit-msg: Save diff if requested by user.
contrib/ChangeLog:

	* prepare-commit-msg: Save diff to a file if
	the GCC_GIT_DIFF_FILE variable is set.
2020-05-27 10:12:58 +02:00
Jason Merrill 757dbb59c1 gcc-git: Add prepare-commit-msg hook.
This patch introduces a prepare-commit-msg hook that appends a ChangeLog
skeleton to a commit message when the GCC_FORCE_MKLOG environment variable
is set, and a 'git commit-mklog' command set that variable while running
'git commit'.

contrib/ChangeLog:

	* prepare-commit-msg: New file.
	* gcc-git-customization.sh: Install it.  Add commit-mklog alias.
	* mklog.py: Add new option -c which appends
	to a ChangeLog file.
2020-05-26 08:38:24 +02:00