]> git.ipfire.org Git - thirdparty/git.git/commit - worktree.c
config: add --comment option to add a comment
authorRalph Seichter <github@seichter.de>
Tue, 12 Mar 2024 21:47:00 +0000 (21:47 +0000)
committerJunio C Hamano <gitster@pobox.com>
Fri, 15 Mar 2024 19:25:35 +0000 (12:25 -0700)
commit42d5c033945e4fc41d7268bfe4284d37651986b8
treedb87697441a5ef5dab70079a6190eaaab148d47c
parent4f9b731bdeccffa1b13e5edf4bc0428b8d49704e
config: add --comment option to add a comment

Introduce the ability to append comments to modifications
made using git-config. Example usage:

  git config --comment "changed via script" \
    --add safe.directory /home/alice/repo.git

based on the proposed patch, the output produced is:

  [safe]
    directory = /home/alice/repo.git #changed via script

Users need to be able to distinguish between config entries made
using automation and entries made by a human. Automation can add
comments containing a URL pointing to explanations for the change
made, avoiding questions from users as to why their config file
was changed by a third party.

The implementation ensures that a # character is unconditionally
prepended to the provided comment string, and that the comment
text is appended as a suffix to the changed key-value-pair in the
same line of text. Multi-line comments (i.e. comments containing
linefeed) are rejected as errors, causing Git to exit without
making changes.

Comments are aimed at humans who inspect or change their Git
config using a pager or editor. Comments are not meant to be
read or displayed by git-config at a later time.

Signed-off-by: Ralph Seichter <github@seichter.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
12 files changed:
Documentation/git-config.txt
builtin/config.c
builtin/gc.c
builtin/submodule--helper.c
builtin/worktree.c
config.c
config.h
sequencer.c
submodule-config.c
submodule.c
t/t1300-config.sh
worktree.c