diff --git a/builtin-rev-list.c b/builtin-rev-list.c
index 09774f9559b81050d89bd6663b8b672438da4342..813aadf596df7fe2e61517915707717120842d74 100644 (file)
--- a/builtin-rev-list.c
+++ b/builtin-rev-list.c
putchar('\n');
if (revs.verbose_header) {
- static char pretty_header[16384];
+ char *buf = NULL;
+ unsigned long buflen = 0;
pretty_print_commit(revs.commit_format, commit, ~0,
- pretty_header, sizeof(pretty_header),
- revs.abbrev, NULL, NULL, revs.relative_date);
- printf("%s%c", pretty_header, hdr_termination);
+ &buf, &buflen,
+ revs.abbrev, NULL, NULL, revs.date_mode);
+ printf("%s%c", buf, hdr_termination);
+ free(buf);
}
fflush(stdout);
if (commit->parents) {
* confuse downstream git-pack-objects very badly.
*/
const char *ep = strchr(p->name, '\n');
+
+ if (p->item->type == OBJ_BLOB && !has_sha1_file(p->item->sha1))
+ die("missing blob object '%s'", sha1_to_hex(p->item->sha1));
+
if (ep) {
printf("%s %.*s\n", sha1_to_hex(p->item->sha1),
(int) (ep - p->name),