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

[PATCH] provide better committer information to commit-tree.c

From
Greg KH <greg@kroah.com>
Date
Apr 19, 2005, 00:11 UTC
Message-ID
<20050419001126.GB21170@kroah.com>
Here's a small patch to commit-tree.c that does two things:
	- allows the committer email address and name to be overridden
	  by environment variables (if you don't like the environment
	  variable names I've used (COMMIT_AUTHOR_NAME,
	  COMMIT_AUTHOR_EMAIL), feel free to change them.)
	- provide the proper domainname to the author/committer email
	  address (otherwise, my address was only showing up as from the
	  hostname.)

This allows people to set sane values for the commit names and email addresses, preventing odd, private hostnames and domains from being exposed to the world.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- a/commit-tree.c.orig	2005-04-18 17:02:50.000000000 -0700
+++ b/commit-tree.c	2005-04-18 17:03:19.000000000 -0700
@@ -284,8 +284,8 @@
 	unsigned char tree_sha1[20];
 	unsigned char parent_sha1[MAXPARENT][20];
 	unsigned char commit_sha1[20];
-	char *gecos, *realgecos;
-	char *email, realemail[1000];
+	char *gecos, *realgecos, *commitgecos;
+	char *email, *commitemail, realemail[1000];
 	char date[20], realdate[20];
 	char *audate;
 	char comment[1000];
@@ -317,20 +317,24 @@
 	memcpy(realemail, pw->pw_name, len);
 	realemail[len] = '@';
 	gethostname(realemail+len+1, sizeof(realemail)-len-1);
+	strcat(realemail, ".");
+	getdomainname(realemail+strlen(realemail), sizeof(realemail)-strlen(realemail)-1);
 	time(&now);
 	tm = localtime(&now);
 
 	strftime(realdate, sizeof(realdate), "%s %z", tm);
 	strcpy(date, realdate);
 
+	commitgecos = getenv("COMMIT_AUTHOR_NAME") ? : realgecos;
+	commitemail = getenv("COMMIT_AUTHOR_EMAIL") ? : realemail;
 	gecos = getenv("AUTHOR_NAME") ? : realgecos;
 	email = getenv("AUTHOR_EMAIL") ? : realemail;
 	audate = getenv("AUTHOR_DATE");
 	if (audate)
 		parse_rfc2822_date(audate, date, sizeof(date));
 
-	remove_special(gecos); remove_special(realgecos);
-	remove_special(email); remove_special(realemail);
+	remove_special(gecos); remove_special(realgecos); remove_special(commitgecos);
+	remove_special(email); remove_special(realemail); remove_special(commitemail);
 
 	init_buffer(&buffer, &size);
 	add_buffer(&buffer, &size, "tree %s\n", sha1_to_hex(tree_sha1));
@@ -345,7 +349,7 @@
 
 	/* Person/date information */
 	add_buffer(&buffer, &size, "author %s <%s> %s\n", gecos, email, date);
-	add_buffer(&buffer, &size, "committer %s <%s> %s\n\n", realgecos, realemail, realdate);
+	add_buffer(&buffer, &size, "committer %s <%s> %s\n\n", commitgecos, commitemail, realdate);
 
 	/* And add the comment */
 	while (fgets(comment, sizeof(comment), stdin) != NULL)
Next: Linus Torvalds
Message 1 of 10 in “provide better committer information to commit-tree.c”
  1. provide better committer information to commit-tree.cGreg KH, Apr 19, 2005
  2. Linus TorvaldsApr 19, 2005
  3. Greg KHApr 19, 2005
  4. David WoodhouseApr 19, 2005
  5. Greg KHApr 19, 2005
  6. Petr BaudisApr 19, 2005
  7. David WoodhouseApr 19, 2005
  8. Chris WedgwoodApr 19, 2005
  9. Linus TorvaldsApr 19, 2005
  10. Russell KingApr 19, 2005

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.