Skip to content

Commit

Permalink
ident: rename IDENT_ERROR_ON_NO_NAME to IDENT_STRICT
Browse files Browse the repository at this point in the history
Callers who ask for ERROR_ON_NO_NAME are not so much
concerned that the name will be blank (because, after all,
we will fall back to using the username), but rather it is a
check to make sure that low-quality identities do not end up
in things like commit messages or emails (whereas it is OK
for them to end up in things like reflogs).

When future commits add more quality checks on the identity,
each of these callers would want to use those checks, too.
Rather than modify each of them later to add a new flag,
let's refactor the flag.

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 25, 2012
1 parent c73f384 commit f9bc573
Show file tree
Hide file tree
Showing 9 changed files with 14 additions and 15 deletions.
3 changes: 1 addition & 2 deletions builtin/commit.c
Original file line number Diff line number Diff line change
Expand Up @@ -526,8 +526,7 @@ static void determine_author_info(struct strbuf *author_ident)

if (force_date)
date = force_date;
strbuf_addstr(author_ident, fmt_ident(name, email, date,
IDENT_ERROR_ON_NO_NAME));
strbuf_addstr(author_ident, fmt_ident(name, email, date, IDENT_STRICT));
if (!split_ident_line(&author, author_ident->buf, author_ident->len)) {
export_one("GIT_AUTHOR_NAME", author.name_begin, author.name_end, 0);
export_one("GIT_AUTHOR_EMAIL", author.mail_begin, author.mail_end, 0);
Expand Down
2 changes: 1 addition & 1 deletion builtin/log.c
Original file line number Diff line number Diff line change
Expand Up @@ -1147,7 +1147,7 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
if (do_signoff) {
const char *committer;
const char *endpos;
committer = git_committer_info(IDENT_ERROR_ON_NO_NAME);
committer = git_committer_info(IDENT_STRICT);
endpos = strchr(committer, '>');
if (!endpos)
die(_("bogus committer info %s"), committer);
Expand Down
4 changes: 2 additions & 2 deletions builtin/merge.c
Original file line number Diff line number Diff line change
Expand Up @@ -1447,7 +1447,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
refresh_cache(REFRESH_QUIET);
if (allow_trivial && !fast_forward_only) {
/* See if it is really trivial. */
git_committer_info(IDENT_ERROR_ON_NO_NAME);
git_committer_info(IDENT_STRICT);
printf(_("Trying really trivial in-index merge...\n"));
if (!read_tree_trivial(common->item->object.sha1,
head_commit->object.sha1,
Expand Down Expand Up @@ -1490,7 +1490,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
die(_("Not possible to fast-forward, aborting."));

/* We are going to make a new commit. */
git_committer_info(IDENT_ERROR_ON_NO_NAME);
git_committer_info(IDENT_STRICT);

/*
* At this point, we need a real merge. No matter what strategy
Expand Down
2 changes: 1 addition & 1 deletion builtin/tag.c
Original file line number Diff line number Diff line change
Expand Up @@ -332,7 +332,7 @@ static void create_tag(const unsigned char *object, const char *tag,
sha1_to_hex(object),
typename(type),
tag,
git_committer_info(IDENT_ERROR_ON_NO_NAME));
git_committer_info(IDENT_STRICT));

if (header_len > sizeof(header_buf) - 1)
die(_("tag header too big."));
Expand Down
4 changes: 2 additions & 2 deletions builtin/var.c
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ static const char *editor(int flag)
{
const char *pgm = git_editor();

if (!pgm && flag & IDENT_ERROR_ON_NO_NAME)
if (!pgm && flag & IDENT_STRICT)
die("Terminal is dumb, but EDITOR unset");

return pgm;
Expand Down Expand Up @@ -55,7 +55,7 @@ static const char *read_var(const char *var)
val = NULL;
for (ptr = git_vars; ptr->read; ptr++) {
if (strcmp(var, ptr->name) == 0) {
val = ptr->read(IDENT_ERROR_ON_NO_NAME);
val = ptr->read(IDENT_STRICT);
break;
}
}
Expand Down
2 changes: 1 addition & 1 deletion cache.h
Original file line number Diff line number Diff line change
Expand Up @@ -887,7 +887,7 @@ unsigned long approxidate_careful(const char *, int *);
unsigned long approxidate_relative(const char *date, const struct timeval *now);
enum date_mode parse_date_format(const char *format);

#define IDENT_ERROR_ON_NO_NAME 1
#define IDENT_STRICT 1
#define IDENT_NO_DATE 2
#define IDENT_NO_NAME 4
extern const char *git_author_info(int);
Expand Down
4 changes: 2 additions & 2 deletions commit.c
Original file line number Diff line number Diff line change
Expand Up @@ -1154,9 +1154,9 @@ int commit_tree_extended(const struct strbuf *msg, unsigned char *tree,

/* Person/date information */
if (!author)
author = git_author_info(IDENT_ERROR_ON_NO_NAME);
author = git_author_info(IDENT_STRICT);
strbuf_addf(&buffer, "author %s\n", author);
strbuf_addf(&buffer, "committer %s\n", git_committer_info(IDENT_ERROR_ON_NO_NAME));
strbuf_addf(&buffer, "committer %s\n", git_committer_info(IDENT_STRICT));
if (!encoding_is_utf8)
strbuf_addf(&buffer, "encoding %s\n", git_commit_encoding);

Expand Down
2 changes: 1 addition & 1 deletion gpg-interface.c
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ const char *get_signing_key(void)
{
if (configured_signing_key)
return configured_signing_key;
return git_committer_info(IDENT_ERROR_ON_NO_NAME|IDENT_NO_DATE);
return git_committer_info(IDENT_STRICT|IDENT_NO_DATE);
}

/*
Expand Down
6 changes: 3 additions & 3 deletions ident.c
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,7 @@ const char *fmt_ident(const char *name, const char *email,
{
static struct strbuf ident = STRBUF_INIT;
char date[50];
int error_on_no_name = (flag & IDENT_ERROR_ON_NO_NAME);
int strict = (flag & IDENT_STRICT);
int want_date = !(flag & IDENT_NO_DATE);
int want_name = !(flag & IDENT_NO_NAME);

Expand All @@ -279,7 +279,7 @@ const char *fmt_ident(const char *name, const char *email,
if (want_name && !*name) {
struct passwd *pw;

if (error_on_no_name) {
if (strict) {
if (name == git_default_name.buf)
fputs(env_hint, stderr);
die("empty ident name (for <%s>) not allowed", email);
Expand Down Expand Up @@ -314,7 +314,7 @@ const char *fmt_ident(const char *name, const char *email,

const char *fmt_name(const char *name, const char *email)
{
return fmt_ident(name, email, NULL, IDENT_ERROR_ON_NO_NAME | IDENT_NO_DATE);
return fmt_ident(name, email, NULL, IDENT_STRICT | IDENT_NO_DATE);
}

const char *git_author_info(int flag)
Expand Down

0 comments on commit f9bc573

Please sign in to comment.