summaryrefslogtreecommitdiff
path: root/ident.c
diff options
context:
space:
mode:
authorJohannes Schindelin <Johannes.Schindelin@gmx.de>2007-11-11 17:35:58 (GMT)
committerJunio C Hamano <gitster@pobox.com>2007-11-23 01:05:03 (GMT)
commit13208572fbe8838fd8835548d7502202d1f7b21d (patch)
tree33292fe1e4b5144f3399ab630e862f8f254b2249 /ident.c
parent367c98866c340bc9cf5cfa88c3b69f027165fc44 (diff)
downloadgit-13208572fbe8838fd8835548d7502202d1f7b21d.zip
git-13208572fbe8838fd8835548d7502202d1f7b21d.tar.gz
git-13208572fbe8838fd8835548d7502202d1f7b21d.tar.bz2
builtin-commit: fix --signoff
The Signed-off-by: line contained a spurious timestamp. The reason was a call to git_committer_info(1), which automatically added the timestamp. Instead, fmt_ident() was taught to interpret an empty string for the date (as opposed to NULL, which still triggers the default behavior) as "do not bother with the timestamp", and builtin-commit.c uses it. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'ident.c')
-rw-r--r--ident.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/ident.c b/ident.c
index 9b2a852..5be7533 100644
--- a/ident.c
+++ b/ident.c
@@ -224,13 +224,17 @@ const char *fmt_ident(const char *name, const char *email,
}
strcpy(date, git_default_date);
- if (date_str)
- parse_date(date_str, date, sizeof(date));
+ if (date_str) {
+ if (*date_str)
+ parse_date(date_str, date, sizeof(date));
+ else
+ date[0] = '\0';
+ }
i = copy(buffer, sizeof(buffer), 0, name);
i = add_raw(buffer, sizeof(buffer), i, " <");
i = copy(buffer, sizeof(buffer), i, email);
- i = add_raw(buffer, sizeof(buffer), i, "> ");
+ i = add_raw(buffer, sizeof(buffer), i, date[0] ? "> " : ">");
i = copy(buffer, sizeof(buffer), i, date);
if (i >= sizeof(buffer))
die("Impossibly long personal identifier");