]> git.ipfire.org Git - thirdparty/git.git/blobdiff - ident.c
ident: say whose identity is missing when giving user.name hint
[thirdparty/git.git] / ident.c
diff --git a/ident.c b/ident.c
index e666ee4e598eb7de70b524bd56c7d04a27549971..813741c06c636d1b662b01337e1db9c8fce0a8da 100644 (file)
--- a/ident.c
+++ b/ident.c
@@ -345,18 +345,32 @@ person_only:
        return 0;
 }
 
-static const char *env_hint =
-N_("\n"
-   "*** Please tell me who you are.\n"
-   "\n"
-   "Run\n"
-   "\n"
-   "  git config --global user.email \"you@example.com\"\n"
-   "  git config --global user.name \"Your Name\"\n"
-   "\n"
-   "to set your account\'s default identity.\n"
-   "Omit --global to set the identity only in this repository.\n"
-   "\n");
+
+static void ident_env_hint(enum want_ident whose_ident)
+{
+       switch (whose_ident) {
+       case WANT_AUTHOR_IDENT:
+               fputs(_("Author identity unknown\n"), stderr);
+               break;
+       case WANT_COMMITTER_IDENT:
+               fputs(_("Committer identity unknown\n"), stderr);
+               break;
+       default:
+               break;
+       }
+
+       fputs(_("\n"
+               "*** Please tell me who you are.\n"
+               "\n"
+               "Run\n"
+               "\n"
+               "  git config --global user.email \"you@example.com\"\n"
+               "  git config --global user.name \"Your Name\"\n"
+               "\n"
+               "to set your account\'s default identity.\n"
+               "Omit --global to set the identity only in this repository.\n"
+               "\n"), stderr);
+}
 
 const char *fmt_ident(const char *name, const char *email,
                      enum want_ident whose_ident, const char *date_str, int flag)
@@ -375,12 +389,12 @@ const char *fmt_ident(const char *name, const char *email,
        if (!email) {
                if (strict && ident_use_config_only
                    && !(ident_config_given & IDENT_MAIL_GIVEN)) {
-                       fputs(_(env_hint), stderr);
+                       ident_env_hint(whose_ident);
                        die(_("no email was given and auto-detection is disabled"));
                }
                email = ident_default_email();
                if (strict && default_email_is_bogus) {
-                       fputs(_(env_hint), stderr);
+                       ident_env_hint(whose_ident);
                        die(_("unable to auto-detect email address (got '%s')"), email);
                }
        }
@@ -397,13 +411,13 @@ const char *fmt_ident(const char *name, const char *email,
                if (!name) {
                        if (strict && ident_use_config_only
                            && !(ident_config_given & IDENT_NAME_GIVEN)) {
-                               fputs(_(env_hint), stderr);
+                               ident_env_hint(whose_ident);
                                die(_("no name was given and auto-detection is disabled"));
                        }
                        name = ident_default_name();
                        using_default = 1;
                        if (strict && default_name_is_bogus) {
-                               fputs(_(env_hint), stderr);
+                               ident_env_hint(whose_ident);
                                die(_("unable to auto-detect name (got '%s')"), name);
                        }
                }
@@ -411,7 +425,7 @@ const char *fmt_ident(const char *name, const char *email,
                        struct passwd *pw;
                        if (strict) {
                                if (using_default)
-                                       fputs(_(env_hint), stderr);
+                                       ident_env_hint(whose_ident);
                                die(_("empty ident name (for <%s>) not allowed"), email);
                        }
                        pw = xgetpwuid_self(NULL);