sequencer: load commit related config
Load default values for message cleanup and gpg signing of commits in preparation for committing without forking 'git commit'. Note that we interpret commit.cleanup=scissors to mean COMMIT_MSG_CLEANUP_SPACE to be consistent with 'git commit' Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
b34eeea352
commit
b36c590813
34
sequencer.c
34
sequencer.c
@ -688,6 +688,40 @@ static int run_git_commit(const char *defmsg, struct replay_opts *opts,
|
||||
return run_command(&cmd);
|
||||
}
|
||||
|
||||
static enum commit_msg_cleanup_mode default_msg_cleanup =
|
||||
COMMIT_MSG_CLEANUP_NONE;
|
||||
static char *default_gpg_sign;
|
||||
|
||||
int git_sequencer_config(const char *k, const char *v, void *cb)
|
||||
{
|
||||
if (!strcmp(k, "commit.cleanup")) {
|
||||
int status;
|
||||
const char *s;
|
||||
|
||||
status = git_config_string(&s, k, v);
|
||||
if (status)
|
||||
return status;
|
||||
|
||||
if (!strcmp(s, "verbatim"))
|
||||
default_msg_cleanup = COMMIT_MSG_CLEANUP_NONE;
|
||||
else if (!strcmp(s, "whitespace"))
|
||||
default_msg_cleanup = COMMIT_MSG_CLEANUP_SPACE;
|
||||
else if (!strcmp(s, "strip"))
|
||||
default_msg_cleanup = COMMIT_MSG_CLEANUP_ALL;
|
||||
else if (!strcmp(s, "scissors"))
|
||||
default_msg_cleanup = COMMIT_MSG_CLEANUP_SPACE;
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
if (!strcmp(k, "commit.gpgsign")) {
|
||||
default_gpg_sign = git_config_bool(k, v) ? "" : NULL;
|
||||
return 0;
|
||||
}
|
||||
|
||||
return git_gpg_config(k, v, NULL);
|
||||
}
|
||||
|
||||
static int rest_is_empty(const struct strbuf *sb, int start)
|
||||
{
|
||||
int i, eol;
|
||||
|
Reference in New Issue
Block a user