Petr Baudis [off-list ref] writes:
quoted
quoted
I'm puzzled. GIT should handle this fine.
export GIT_AUTHOR_NAME=''
git-commit-tree $(cg-object-id -t)
works as expected, but for some reason escaping me it does not work
inside of cg-commit. Insights welcomed.
...
Thanks, I've updated the cg-commit version. Note that the empty
GIT_AUTHOR_NAME problem seems to exist in git-commit as well.
It depends on what you expect, but it meets _my_ expectation:
$ GIT_AUTHOR_NAME='' git-commit-tree $(git-write-tree) </dev/null
Committing initial tree a2b59c3848164a2c9c3c75fbaadccaed9485da92
ef90563fa278735af367e7606ea7eb2559121ca7
$ git-cat-file commit ef90563fa278735af367e7606ea7eb2559121ca7
tree a2b59c3848164a2c9c3c75fbaadccaed9485da92
author [off-list ref] 1139281078 -0800
committer Junio C Hamano [off-list ref] 1139281078 -0800
That is, the user said GIT_AUTHOR_NAME is empty, so he gets a
commit with an empty author name.
get_ident() in ident.c does this. getenv("GIT_AUTHOR_NAME") and
friends are passed to it, and git_default_* are takenfrom gecos.
It might match some peoples' expectation (but not mine) if we
did this instead.
diff --git a/ident.c b/ident.c
index 0461b8b..7ec7516 100644
--- a/ident.c
+++ b/ident.c
@@ -163,9 +163,9 @@ static const char *get_ident(const char
char date[50];
int i;
- if (!name)
+ if (!name || !*name)
name = git_default_name;
- if (!email)
+ if (!email || !*email)
email = git_default_email;
strcpy(date, git_default_date);
if (date_str)