diff --git a/commit.c b/commit.c index 2f73cf3d90..f735f981bb 100644 --- a/commit.c +++ b/commit.c @@ -3,6 +3,8 @@ #include "commit.h" #include "cache.h" +int save_commit_buffer = 1; + struct sort_node { /* @@ -264,7 +266,7 @@ int parse_commit(struct commit *item) sha1_to_hex(item->object.sha1)); } ret = parse_commit_buffer(item, buffer, size); - if (!ret) { + if (save_commit_buffer && !ret) { item->buffer = buffer; return 0; } diff --git a/commit.h b/commit.h index 9dda2f045f..30702ca937 100644 --- a/commit.h +++ b/commit.h @@ -17,6 +17,7 @@ struct commit { char *buffer; }; +extern int save_commit_buffer; extern const char *commit_type; struct commit *lookup_commit(const unsigned char *sha1); diff --git a/rev-list.c b/rev-list.c index 2d97cdb64b..96aa34249e 100644 --- a/rev-list.c +++ b/rev-list.c @@ -582,6 +582,8 @@ int main(int argc, char **argv) handle_one_commit(commit, &list); } + save_commit_buffer = verbose_header; + if (!merge_order) { sort_by_date(&list); if (limited)