git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 1/2] Change error messages in ident.c...

From
Jeff King <peff@peff.net>
Date
May 10, 2012, 19:23 UTC
Message-ID
<20120510192339.GA32357@sigill.intra.peff.net>
In-Reply-To
<1336676770-17965-1-git-send-email-angusgh@gmail.com>
On Thu, May 10, 2012 at 08:06:09PM +0100, Angus Hammond wrote:
> Subject: Re: [PATCH 1/2] Change error messages in ident.c Make error messages
>  caused by failed reads of the /etc/passwd file easier to understand.
>  Signed-off-by: Angus Hammond <angusgh@gmail.com>
Holy line-breaks, Batman!

As amusing as I find the existing messages, this is probably a good direction (although I find it unlikely that most people would see the messages under normal use).

I am also tempted to suggest that we simply replace the static buffers with dynamic strbufs. I guess that may open up new vectors for an attacker to convince git to allocate arbitrary amounts of memory, but that is already pretty easy to do, so I doubt it's a big deal.

Show 6 quoted lines
> @@ -46,7 +46,7 @@ static void copy_gecos(const struct passwd *w, char *name, size_t sz)
>  	if (len < sz)
>  		name[len] = 0;
>  	else
> -		die("Your parents must have hated you!");
> +		die("Your GECOS field is too long.");

I know that "GECOS" is the standard name for the field, but I wonder if it is a bit unnecessarily jargon-y. Wouldn't something like:

  die("unable to get real name from system password file: name too long");

be a little more friendly? It tells what operation we were actually performing, and it doesn't use any jargon.

Show 6 quoted lines
> @@ -106,7 +106,7 @@ static void copy_email(const struct passwd *pw)
>  	 */
>  	size_t len = strlen(pw->pw_name);
>  	if (len > sizeof(git_default_email)/2)
> -		die("Your sysadmin must hate you!");
> +		die("Your name field in is too long.");

s/in is/is/. Also, similar complaints to above (if you see this message unexpectedly, you might ask "which name field? One inside a commit object?").

> [...]
And similar comments for the rest of the messages.
-Peff
Previous: Angus HammondNext: Jeff King
Message 4 of 23 in “Change error messages in ident.c Make error messages caused by failed reads of the /etc/passwd file easier to understand. Signed-off-by: Angus Hammond <angusgh@gmail.com>”
  1. 1/2 Change error messages in ident.c Make error messages caused by failed reads of the /etc/passwd file easier to understand. Signed-off-by: Angus Hammond <angusgh@gmail.com>Angus Hammond, May 10, 2012
  2. 2/2 Remove diagnostics section from commit-tree and var man pages New error messages shouldn't need explaining like the old ones did so just delete the diagnostics section of the man pages. Signed-off-by: Angus Hammond <angusgh@gmail.com>Angus Hammond, May 10, 2012
  3. Angus HammondMay 10, 2012
  4. Jeff KingMay 10, 2012
  5. Jeff KingMay 10, 2012
  6. Junio C HamanoMay 11, 2012
  7. Jeff KingMay 11, 2012
  8. 1/2 drop length limitations on gecos-derived names and emailsJeff King, May 14, 2012
  9. Jeff KingMay 14, 2012
  10. Jeff KingMay 14, 2012
  11. Jeff KingMay 14, 2012
  12. Jeff KingMay 15, 2012
  13. Jeff KingMay 15, 2012
  14. Junio C HamanoMay 15, 2012
  15. Jeff KingMay 15, 2012
  16. Junio C HamanoMay 15, 2012
  17. 2/2 ident: report passwd errors with a more friendly messageJeff King, May 14, 2012
  18. Junio C HamanoMay 10, 2012
  19. Jeff KingMay 10, 2012
  20. Junio C HamanoMay 10, 2012
  21. Junio C HamanoMay 10, 2012
  22. Angus HammondMay 10, 2012
  23. Nguyen Thai Ngoc DuyMay 11, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.