git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff King <peff@peff.net>
To: Junio C Hamano <gitster@pobox.com>
Cc: Adam Megacz <adam@megacz.com>, git@vger.kernel.org
Subject: Re: [PATCH 3/3] commit: show interesting ident information in summary
Date: Wed, 13 Jan 2010 15:17:08 -0500	[thread overview]
Message-ID: <20100113201708.GA23018@coredump.intra.peff.net> (raw)
In-Reply-To: <7vbpgxn5ui.fsf@alter.siamese.dyndns.org>

On Wed, Jan 13, 2010 at 11:48:53AM -0800, Junio C Hamano wrote:

> In olden days, `whoami`@`hostname`, at least on systems that were
> competently maintained, gave a reasonable mail address for most people,
> but I think it stopped being adequate more than 10 years ago, and it is
> not useful anymore to majority of people, especially the ones who work on
> Open Source projects as individuals, whose desired public identities are
> often tied to their email account at their ISPs or mailbox providers (like
> gmail).  There is no way for us to guess, when `whoami`@`hostname -f` is
> the only thing we can go by without explicit user configuration.

Even outside of competent maintenance or individuals being served by
ISPs, I think it is really that it is no longer the case that the
machines we get our mail on and the machines we do our work on are less
and less the same. Even as an individual, I can afford a Linux
workstation on my desk _and_ one to serve my mail. But I don't advertise
peff@workstation.peff.net as my email.

Which isn't to say there aren't people in the separate situation, like:

> Inside corporate environments, `whoami`@`hostname -f` might still be a
> reasonable and usable default, though.
> 
> So I think the safest thing to do would be to give a big advice but make
> it squelch-able with advice.howToSetYourIdentity or something.

I think that is a good idea. Administrators of competent shared
environments can turn off the advice via /etc/gitconfig if they want,
and everyone else needs to opt into it consciously, which should help
reduce errors. I'm sure there will still be somebody, somewhere, who
complains about having to set the config, but that minority is hopefully
small enough to justify the errors saved by new git users.

Can you apply the patch below to my series as 4/3?

-- >8 --
Subject: [PATCH] commit: allow suppression of implicit identity advice

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>
---
Pretty straightforward. The biggest question is whether to suppress the
"Committer: XXX <YYY@ZZZ>" line, too. I kind of think it is useful if
you are intentionally using this feature; by definition if you are using
it intentionally then the information is of some interest to you.

 Documentation/config.txt |    4 ++++
 advice.c                 |    2 ++
 advice.h                 |    1 +
 builtin-commit.c         |    6 ++++--
 4 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/Documentation/config.txt b/Documentation/config.txt
index 9f40955..905076f 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -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::
diff --git a/advice.c b/advice.c
index cb666ac..8f7de0e 100644
--- 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)
diff --git a/advice.h b/advice.h
index 3de5000..728ab90 100644
--- 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);
 
diff --git a/builtin-commit.c b/builtin-commit.c
index 3fa9b39..d687cf1 100644
--- a/builtin-commit.c
+++ b/builtin-commit.c
@@ -1082,8 +1082,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);
-- 
1.6.6.146.gdaab9.dirty

  reply	other threads:[~2010-01-13 20:17 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-03 23:32 edit Author/Date metadata as part of 'git commit' $EDITOR invocation? Adam Megacz
2010-01-04 20:32 ` Sverre Rabbelier
2010-01-04 21:08   ` Adam Megacz
2010-01-04 22:52     ` Sverre Rabbelier
2010-01-05 20:22       ` David Aguilar
2010-01-05 22:38     ` Nanako Shiraishi
2010-01-06 17:04       ` Junio C Hamano
2010-01-08  7:35         ` Adam Megacz
2010-01-08 16:02           ` Junio C Hamano
2010-01-08 16:03             ` [PATCH 1/3] ident.c: remove unused variables Junio C Hamano
2010-01-08 16:04             ` [PATCH 2/3] ident.c: check explicit identity for name and email separately Junio C Hamano
2010-01-08 22:33               ` Santi Béjar
2010-01-08 16:08             ` [RFC PATCH 3/3] ident.c: treat $EMAIL as giving user.email identity explicitly Junio C Hamano
2010-01-11  4:37             ` [PATCH] Display author and committer after "git commit" Adam Megacz
2010-01-11  4:53               ` Adam Megacz
2010-01-11  7:28               ` Junio C Hamano
2010-01-12  1:51                 ` Adam Megacz
2010-01-12 14:24                   ` Jeff King
2010-01-12 14:52                     ` Jeff King
2010-01-12 15:36                     ` Jeff King
2010-01-12 15:41                       ` [PATCH 1/3] strbuf_expand: convert "%%" to "%" Jeff King
2010-01-12 15:41                       ` [PATCH 2/3] strbuf: add strbuf_percentquote_buf Jeff King
2010-01-12 16:19                         ` Johannes Schindelin
2010-01-12 16:18                           ` Jeff King
2010-01-13  6:55                         ` Junio C Hamano
2010-01-13 17:06                           ` Jeff King
2010-01-13 19:47                             ` Junio C Hamano
2010-01-13 19:56                               ` Jeff King
2010-01-12 15:46                       ` [PATCH 3/3] commit: show interesting ident information in summary Jeff King
2010-01-13  6:57                         ` Junio C Hamano
2010-01-13 17:30                           ` Jeff King
2010-01-13 19:48                             ` Junio C Hamano
2010-01-13 20:17                               ` Jeff King [this message]
2010-01-13 20:18                                 ` Jeff King
2010-01-13 20:50                                   ` Junio C Hamano
2010-01-13 17:34                       ` [PATCH] Display author and committer after "git commit" Jeff King
2010-01-13 17:35                         ` [PATCH v2 1/3] strbuf_expand: convert "%%" to "%" Jeff King
2010-01-14 11:47                           ` Chris Johnsen
2010-01-14 14:32                             ` Jeff King
2010-01-13 17:36                         ` [PATCH v2 2/3] strbuf: add strbuf_addbuf_percentquote Jeff King
2010-01-13 17:39                         ` [PATCH v2 3/3] commit: show interesting ident information in summary Jeff King
2010-01-13 18:39                           ` Wincent Colaiuta
2010-01-13 18:45                             ` Jeff King
2010-01-13 18:50                               ` Wincent Colaiuta
2010-01-14 15:02                                 ` Thomas Rast
2010-01-14 19:04                                   ` Felipe Contreras
2010-01-14 19:15                                     ` Junio C Hamano
2010-01-14 19:36                                       ` Felipe Contreras
2010-01-14 19:44                                         ` Junio C Hamano
2010-01-15  1:21                                           ` Felipe Contreras
2010-01-16  2:56                                 ` Adam Megacz
2010-01-17 11:31                             ` Matthieu Moy
2010-01-17  8:59                           ` Junio C Hamano
2010-01-17 16:18                             ` Jeff King

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100113201708.GA23018@coredump.intra.peff.net \
    --to=peff@peff.net \
    --cc=adam@megacz.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).