user_ident_sufficiently_given(): refactor the logic to be usable from elsewhere
authorJunio C Hamano <gitster@pobox.com>
Sun, 17 Jan 2010 21:54:28 +0000 (13:54 -0800)
committerJunio C Hamano <gitster@pobox.com>
Sun, 17 Jan 2010 21:54:28 +0000 (13:54 -0800)
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin-commit.c
cache.h
ident.c

index f4974b5542e9adcc1b2dd24f9692a20a690d5977..b76f327e1f559dedef609ad010d3444fb1d64764 100644 (file)
@@ -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 16c8e8df418dc6d7f7abcaf115bcc584ad06fb45..f7a287cbc6af7609db2adc4d4844ff3c1116fc13 100644 (file)
--- 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 d4f614543deddd12ed58fb1db98fe523fb4df6ce..96b56e66d14b2f5f69792eb8d1597667f5fdbb0c 100644 (file)
--- 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
+}