summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2010-01-17 13:54:28 -0800
committerLibravatar Junio C Hamano <gitster@pobox.com>2010-01-17 13:54:28 -0800
commit5aeb3a3a838b2cb03d250f3376cf9c41f4d4608e (patch)
tree5735c4ddaa5de31eb7cf3970fd1b23e8b74ec349
parentident.c: treat $EMAIL as giving user.email identity explicitly (diff)
downloadtgif-5aeb3a3a838b2cb03d250f3376cf9c41f4d4608e.tar.xz
user_ident_sufficiently_given(): refactor the logic to be usable from elsewhere
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--builtin-commit.c2
-rw-r--r--cache.h1
-rw-r--r--ident.c9
3 files changed, 11 insertions, 1 deletions
diff --git a/builtin-commit.c b/builtin-commit.c
index f4974b5542..b76f327e1f 100644
--- a/builtin-commit.c
+++ b/builtin-commit.c
@@ -624,7 +624,7 @@ static int prepare_to_commit(const char *index_file, const char *prefix,
author_ident);
free(author_ident);
- if (user_ident_explicitly_given != IDENT_ALL_GIVEN)
+ if (!user_ident_sufficiently_given())
fprintf(fp,
"%s"
"# Committer: %s\n",
diff --git a/cache.h b/cache.h
index 16c8e8df41..f7a287cbc6 100644
--- a/cache.h
+++ b/cache.h
@@ -929,6 +929,7 @@ extern char git_default_name[MAX_GITNAME];
#define IDENT_MAIL_GIVEN 02
#define IDENT_ALL_GIVEN (IDENT_NAME_GIVEN|IDENT_MAIL_GIVEN)
extern int user_ident_explicitly_given;
+extern int user_ident_sufficiently_given(void);
extern const char *git_commit_encoding;
extern const char *git_log_output_encoding;
diff --git a/ident.c b/ident.c
index d4f614543d..96b56e66d1 100644
--- a/ident.c
+++ b/ident.c
@@ -259,3 +259,12 @@ const char *git_committer_info(int flag)
getenv("GIT_COMMITTER_DATE"),
flag);
}
+
+int user_ident_sufficiently_given(void)
+{
+#ifndef WINDOWS
+ return (user_ident_explicitly_given & IDENT_MAIL_GIVEN);
+#else
+ return (user_ident_explicitly_given == IDENT_ALL_GIVEN);
+#endif
+}