From 413d757eb24e5b4ca9149fc793c1c13700e1de22 Mon Sep 17 00:00:00 2001 From: Talha Can Havadar Date: Fri, 6 Jun 2025 07:33:26 +0000 Subject: [PATCH] disable log.showSignature config for git commands by default MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit gitlint doesnt work properly if the global configuration of the users enables log.showSignature config. See below as an example: ```  git log commit 4d9119760056492eabc201bfad5de2f9e660b85f (HEAD -> main, upstream/main, upstream/HEAD) gpg: Signature made Sat 02 Sep 2023 08:25:48 AM UTC gpg: using RSA key 4AEE18F83AFDEB23 gpg: Can't check signature: No public key Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat Sep 2 10:25:48 2023 +0200 Bump python from 3.11.4-alpine to 3.11.5-alpine (#525) Bumps python from 3.11.4-alpine to 3.11.5-alpine. --- updated-dependencies:  gitlint An error occurred while executing 'git log gpg: Signature made Sat 02 Sep 2023 08:25:48 AM UTCgpg: using RSA key 4AEE18F83AFDEB23gpg: Can't check signature: No public key4d9119760056492eabc201bfad5de2f9e660b85f -1 --pretty=%aN%x00%aE%x00%ai%x00%P%n%B': b"fatal: invalid object name 'gpg'." ``` After disabling log.showSignature config for git runs made by gitlint, it works as expected. ```  hatch run dev:gitlint An error occurred while executing 'git log gpg: Signature made Sat 02 Sep 2023 08:25:48 AM UTCgpg: using RSA key 4AEE18F83AFDEB23gpg: Can't check signature: No public key4d9119760056492eabc201bfad5de2f9e660b85f -1 --pretty=%aN%x00%aE%x00%ai%x00%P%n%B': b"fatal: invalid object name 'gpg'." ^^ this is before fix in dev environment  hatch run dev:gitlint ^^ this is after fix as expected ``` --- gitlint-core/gitlint/shell.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gitlint-core/gitlint/shell.py b/gitlint-core/gitlint/shell.py index d0793da2..a5b13173 100644 --- a/gitlint-core/gitlint/shell.py +++ b/gitlint-core/gitlint/shell.py @@ -42,7 +42,8 @@ def git(*command_parts: str, **kwargs: Any) -> ShResult: Implemented as separate function here, so we can do a 'sh' style imports: `from shell import git` """ - args = ["git", *list(command_parts)] + default_configs = ["-c", "log.showSignature=false"] + args = ["git", *default_configs, *list(command_parts)] return _exec(*args, **kwargs)