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>
This commit is contained in:

committed by
Junio C Hamano

parent
4f9b731bde
commit
42d5c03394
@ -807,9 +807,9 @@ int should_prune_worktree(const char *id, struct strbuf *reason, char **wtpath,
|
||||
static int move_config_setting(const char *key, const char *value,
|
||||
const char *from_file, const char *to_file)
|
||||
{
|
||||
if (git_config_set_in_file_gently(to_file, key, value))
|
||||
if (git_config_set_in_file_gently(to_file, key, NULL, value))
|
||||
return error(_("unable to set %s in '%s'"), key, to_file);
|
||||
if (git_config_set_in_file_gently(from_file, key, NULL))
|
||||
if (git_config_set_in_file_gently(from_file, key, NULL, NULL))
|
||||
return error(_("unable to unset %s in '%s'"), key, from_file);
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user