Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg KH <greg@kroah.com>2005-04-19 04:37:32 +0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-19 04:37:32 +0400
commitb70070f0208be5d5d7b7a3b259e7ff3da19307d0 (patch)
tree84e34067e4199de4d4cae90234daa9db59819944
parentf43b8abc6f051aece327a3779e903106916d6e67 (diff)
[PATCH] provide better committer information to commit-tree.c
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> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--commit-tree.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/commit-tree.c b/commit-tree.c
index cbb7d12a86..71fce3f357 100644
--- a/commit-tree.c
+++ b/commit-tree.c
@@ -284,8 +284,8 @@ int main(int argc, char **argv)
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 @@ int main(int argc, char **argv)
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 @@ int main(int argc, char **argv)
/* 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)