# [PATCH] mailinfo: don't discard names under 3 characters

5 messages from 2019-12-20 to 2021-05-16. Participants: edef, Jeff King, Junio C Hamano.
Thread: https://gitlist.dev/t/52493

## edef, 2019-12-20 00:39

Subject: [PATCH] mailinfo: don't discard names under 3 characters
Message-ID: <20191220003948.60272-1-edef@edef.eu>
URL: https://gitlist.dev/e/20191220003948.60272-1-edef%40edef.eu

```
I sometimes receive patches from people with short mononyms, and in my
cultural environment these are not uncommon. To my dismay, git-am
currently discards their names, and replaces them with their email
addresses.

Link: https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/
---
I'm not *completely* sure there's even a case where `src = email` is 
the right thing to do, but I'd rather not modify this code more than 
strictly necessary.

 mailinfo.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mailinfo.c b/mailinfo.c
index b395adbdf2..7274232e28 100644
--- a/mailinfo.c
+++ b/mailinfo.c
@@ -19,7 +19,7 @@ static void cleanup_space(struct strbuf *sb)
 static void get_sane_name(struct strbuf *out, struct strbuf *name, struct strbuf *email)
 {
 	struct strbuf *src = name;
-	if (name->len < 3 || 60 < name->len || strchr(name->buf, '@') ||
+	if (!name->len || 60 < name->len || strchr(name->buf, '@') ||
 		strchr(name->buf, '<') || strchr(name->buf, '>'))
 		src = email;
 	else if (name == out)
-- 
2.24.1


```

## edef, 2019-12-20 13:37

Subject: Re: [PATCH] mailinfo: don't discard names under 3 characters
Message-ID: <20191220133740.97560-1-edef@edef.eu>
URL: https://gitlist.dev/e/20191220133740.97560-1-edef%40edef.eu
In-Reply-To: <20191220003948.60272-1-edef@edef.eu>

```
Seems I forgot something:

Signed-off-by: edef <edef@edef.eu>

```

## Jeff King, 2020-01-30 10:06

Subject: Re: [PATCH] mailinfo: don't discard names under 3 characters
Message-ID: <20200130100654.GA840101@coredump.intra.peff.net>
URL: https://gitlist.dev/e/20200130100654.GA840101%40coredump.intra.peff.net
In-Reply-To: <20191220003948.60272-1-edef@edef.eu>

```
On Fri, Dec 20, 2019 at 12:39:48AM +0000, edef wrote:

> I sometimes receive patches from people with short mononyms, and in my
> cultural environment these are not uncommon. To my dismay, git-am
> currently discards their names, and replaces them with their email
> addresses.
> 
> Link: https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/
> ---
> I'm not *completely* sure there's even a case where `src = email` is 
> the right thing to do, but I'd rather not modify this code more than 
> strictly necessary.

I think this makes sense. There's a lot of heuristic voodoo in this old
mailinfo code, but I think getting people's legitimate short names wrong
is worse than the likelihood that this is actually helping some
broken-parsing case in any meaningful way. I suspect this code predates
us parsing the headers carefully according to the standard (it looks to
be from 2744b2344d on 2005-04-11, which is quite early!).

The 60-char maximum also seems like something people might run afoul of
in certain cultures. Is it worth bumping, too?

I think your patch slipped through the cracks, coming as it did over the
holidays. It's probably worth re-posting it (with your signed-off-by).

-Peff

```

## edef, 2021-05-16 15:07

Subject: [PATCH v2] mailinfo: don't discard names under 3 characters
Message-ID: <20210516150719.49710-1-edef@edef.eu>
URL: https://gitlist.dev/e/20210516150719.49710-1-edef%40edef.eu
In-Reply-To: <20200130100654.GA840101@coredump.intra.peff.net>

```
I sometimes receive patches from people with short mononyms, and in my
cultural environment these are not uncommon. To my dismay, git-am
currently discards their names, and replaces them with their email
addresses.

Link: https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/
Signed-off-by: edef <edef@edef.eu>
---
Rebased and with Signed-off-by this time :)

 mailinfo.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mailinfo.c b/mailinfo.c
index 95ce191f38..626228654c 100644
--- a/mailinfo.c
+++ b/mailinfo.c
@@ -19,7 +19,7 @@ static void cleanup_space(struct strbuf *sb)
 static void get_sane_name(struct strbuf *out, struct strbuf *name, struct strbuf *email)
 {
 	struct strbuf *src = name;
-	if (name->len < 3 || 60 < name->len || strpbrk(name->buf, "@<>"))
+	if (!name->len || 60 < name->len || strpbrk(name->buf, "@<>"))
 		src = email;
 	else if (name == out)
 		return;
-- 
2.30.0


```

## Junio C Hamano, 2021-05-16 22:57

Subject: Re: [PATCH v2] mailinfo: don't discard names under 3 characters
Message-ID: <xmqq4kf25lso.fsf@gitster.g>
URL: https://gitlist.dev/e/xmqq4kf25lso.fsf%40gitster.g
In-Reply-To: <20210516150719.49710-1-edef@edef.eu>

```
edef <edef@edef.eu> writes:

> I sometimes receive patches from people with short mononyms, and in my
> cultural environment these are not uncommon. To my dismay, git-am
> currently discards their names, and replaces them with their email
> addresses.
>
> Link: https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/
> Signed-off-by: edef <edef@edef.eu>
> ---
> Rebased and with Signed-off-by this time :)
>
>  mailinfo.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mailinfo.c b/mailinfo.c
> index 95ce191f38..626228654c 100644
> --- a/mailinfo.c
> +++ b/mailinfo.c
> @@ -19,7 +19,7 @@ static void cleanup_space(struct strbuf *sb)
>  static void get_sane_name(struct strbuf *out, struct strbuf *name, struct strbuf *email)
>  {
>  	struct strbuf *src = name;
> -	if (name->len < 3 || 60 < name->len || strpbrk(name->buf, "@<>"))
> +	if (!name->len || 60 < name->len || strpbrk(name->buf, "@<>"))
>  		src = email;
>  	else if (name == out)
>  		return;

Wow.  The original of this was from very late in 2019, wasn't it?

Thanks for updating; will queue.

```
