From: Siddharth Asthana Date: Thu, 16 Apr 2026 03:32:49 GMT Subject: [PATCH v5 0/1] cat-file: add mailmap subcommand to --batch-command Message-ID: <20260416033250.4327-1-siddharthasthana31@gmail.com> In-Reply-To: <20260415150943.40493-1-siddharthasthana31@gmail.com> git-cat-file(1)'s --batch-command works with the --use-mailmap option, but this option needs to be set when the process is created. This means we cannot change this option mid-operation. At GitLab, Gitaly keeps interacting with a long-lived git-cat-file process and it would be useful if --batch-command supported toggling mailmap dynamically on an existing process. This patch adds a `mailmap` subcommand to --batch-command that accepts a boolean argument and toggles mailmap dynamically for subsequent commands. The series is based on top of 5361983c07 (The 22nd batch, 2026-03-21). CI: https://gitlab.com/gitlab-org/git/-/pipelines/2456596910 Changes in v5: - Simplify documentation: remove the `;;` sub-list describing `true`/`false` effects and replace with a single sentence noting that mailmap data is read upon the first use and only once. - Link to v4: https://lore.kernel.org/git/20260415150943.40493-1-siddharthasthana31@gmail.com/T/#m5226263dafcf5c774c080a6688e9af0f402003c0 - Link to v3: https://lore.kernel.org/git/xmqqv7dyoei6.fsf@gitster.g/T/#m0a109f3eb5129e619ecec5f2d58ead0c5a49a4f3 - Link to v2: https://lore.kernel.org/git/xmqqv7dyoei6.fsf@gitster.g/T/#m445eab3b309bded92d1b130d225b882c73988ff2 - Link to v1: https://public-inbox.org/git/a4ec7bfa-f16b-4505-9b37-d3dd137e93cb@gmail.com/T/#m5c62fb6ad0fbcc99a706dba4c78b66359c247acd Thanks, Siddharth --- Siddharth Asthana (1): cat-file: add mailmap subcommand to --batch-command Documentation/git-cat-file.adoc | 5 ++ builtin/cat-file.c | 37 ++++++++++++-- t/t4203-mailmap.sh | 105 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 143 insertions(+), 4 deletions(-) Range-diff versus v4: 1: 25ebffe39e ! 1: b4d6f08b43 cat-file: add mailmap subcommand to --batch-command @@ Documentation/git-cat-file.adoc: flush:: +`mailmap ()`:: + Enable or disable mailmap for subsequent commands. The `` + argument accepts the same boolean values as linkgit:git-config[1]. -+ Possible effects are: -++ -+`true`;; -+ Mailmap data is loaded on first use and kept in memory until the -+ process exits. Passing `true` again does not reload the data. -+`false`;; -+ Mailmap replacements are disabled for subsequent commands, but data -+ already loaded stays in memory. ++ The mailmap data is read upon the first use and only once. -- + base-commit: 5361983c075154725be47b65cca9a2421789e410 -- 2.53.0