Skip to content

Commit

Permalink
move identity config parsing to ident.c
Browse files Browse the repository at this point in the history
There's no reason for this to be in config, except that once
upon a time all of the config parsing was there. It makes
more sense to keep the ident code together.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Jeff King authored and Junio C Hamano committed May 22, 2012
1 parent e21ab13 commit 9597921
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 23 deletions.
1 change: 1 addition & 0 deletions cache.h
Original file line number Diff line number Diff line change
Expand Up @@ -899,6 +899,7 @@ extern const char *ident_default_email(void);
extern const char *ident_default_date(void);
extern const char *git_editor(void);
extern const char *git_pager(int stdout_is_tty);
extern int git_ident_config(const char *, const char *, void *);

struct ident_split {
const char *name_begin;
Expand Down
24 changes: 1 addition & 23 deletions config.c
Original file line number Diff line number Diff line change
Expand Up @@ -762,28 +762,6 @@ static int git_default_core_config(const char *var, const char *value)
return 0;
}

static int git_default_user_config(const char *var, const char *value)
{
if (!strcmp(var, "user.name")) {
if (!value)
return config_error_nonbool(var);
strlcpy(git_default_name, value, sizeof(git_default_name));
user_ident_explicitly_given |= IDENT_NAME_GIVEN;
return 0;
}

if (!strcmp(var, "user.email")) {
if (!value)
return config_error_nonbool(var);
strlcpy(git_default_email, value, sizeof(git_default_email));
user_ident_explicitly_given |= IDENT_MAIL_GIVEN;
return 0;
}

/* Add other config variables here and to Documentation/config.txt. */
return 0;
}

static int git_default_i18n_config(const char *var, const char *value)
{
if (!strcmp(var, "i18n.commitencoding"))
Expand Down Expand Up @@ -870,7 +848,7 @@ int git_default_config(const char *var, const char *value, void *dummy)
return git_default_core_config(var, value);

if (!prefixcmp(var, "user."))
return git_default_user_config(var, value);
return git_ident_config(var, value, dummy);

if (!prefixcmp(var, "i18n."))
return git_default_i18n_config(var, value);
Expand Down
21 changes: 21 additions & 0 deletions ident.c
Original file line number Diff line number Diff line change
Expand Up @@ -388,3 +388,24 @@ int user_ident_sufficiently_given(void)
return (user_ident_explicitly_given == IDENT_ALL_GIVEN);
#endif
}

int git_ident_config(const char *var, const char *value, void *data)
{
if (!strcmp(var, "user.name")) {
if (!value)
return config_error_nonbool(var);
strlcpy(git_default_name, value, sizeof(git_default_name));
user_ident_explicitly_given |= IDENT_NAME_GIVEN;
return 0;
}

if (!strcmp(var, "user.email")) {
if (!value)
return config_error_nonbool(var);
strlcpy(git_default_email, value, sizeof(git_default_email));
user_ident_explicitly_given |= IDENT_MAIL_GIVEN;
return 0;
}

return 0;
}

0 comments on commit 9597921

Please sign in to comment.