commit: allow suppression of implicit identity advice
authorJeff King <peff@peff.net>
Wed, 13 Jan 2010 20:17:08 +0000 (15:17 -0500)
committerJunio C Hamano <gitster@pobox.com>
Thu, 14 Jan 2010 17:25:58 +0000 (09:25 -0800)
We now nag the user with a giant warning when their identity
was pulled from the username, hostname, and gecos
information, in case it is not correct. Most users will
suppress this by simply setting up their information
correctly.

However, there may be some users who consciously want to use
that information, because having the value change from host
to host contains useful information. These users can now set
advice.implicitidentity to false to suppress the message.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/config.txt
advice.c
advice.h
builtin-commit.c

index a1e36d7e423e01de796ac5f866536280618199d1..6f70cc953ebb52962d8106a7b8972f074894e164 100644 (file)
@@ -130,6 +130,10 @@ advice.*::
                Advice shown when linkgit:git-merge[1] refuses to
                merge to avoid overwritting local changes.
                Default: true.
+       implicitIdentity::
+               Advice on how to set your identity configuration when
+               your information is guessed from the system username and
+               domain name. Default: true.
 --
 
 core.fileMode::
index cb666acc3cf8fdda777febbefac455f3667759f1..8f7de0e9ed70218f1f5355df670c537d1b818c76 100644 (file)
--- a/advice.c
+++ b/advice.c
@@ -3,6 +3,7 @@
 int advice_push_nonfastforward = 1;
 int advice_status_hints = 1;
 int advice_commit_before_merge = 1;
+int advice_implicit_identity = 1;
 
 static struct {
        const char *name;
@@ -11,6 +12,7 @@ static struct {
        { "pushnonfastforward", &advice_push_nonfastforward },
        { "statushints", &advice_status_hints },
        { "commitbeforemerge", &advice_commit_before_merge },
+       { "implicitidentity", &advice_implicit_identity },
 };
 
 int git_default_advice_config(const char *var, const char *value)
index 3de5000d8cb35c1d2c31867b942a54b487bed836..728ab90ef17b4ebccff4ccb662108f8c5fded690 100644 (file)
--- a/advice.h
+++ b/advice.h
@@ -4,6 +4,7 @@
 extern int advice_push_nonfastforward;
 extern int advice_status_hints;
 extern int advice_commit_before_merge;
+extern int advice_implicit_identity;
 
 int git_default_advice_config(const char *var, const char *value);
 
index b923038b0a55d99fd392b47d3cc4cd2bad19ecbd..a73a532f2ff4e11d070ddb2bdf490f850a6a425f 100644 (file)
@@ -994,8 +994,10 @@ static void print_summary(const char *prefix, const unsigned char *sha1)
        if (!user_ident_explicitly_given) {
                strbuf_addstr(&format, "\n Committer: ");
                strbuf_addbuf_percentquote(&format, &committer_ident);
-               strbuf_addch(&format, '\n');
-               strbuf_addstr(&format, implicit_ident_advice);
+               if (advice_implicit_identity) {
+                       strbuf_addch(&format, '\n');
+                       strbuf_addstr(&format, implicit_ident_advice);
+               }
        }
        strbuf_release(&author_ident);
        strbuf_release(&committer_ident);