summaryrefslogtreecommitdiff
path: root/commit.c
diff options
context:
space:
mode:
Diffstat (limited to 'commit.c')
-rw-r--r--commit.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/commit.c b/commit.c
index 911f6435a7..0243e77cb8 100644
--- a/commit.c
+++ b/commit.c
@@ -124,8 +124,11 @@ struct commit *pop_most_recent_commit(struct commit_list **list)
free(old);
while (parents) {
- parse_commit(parents->item);
- insert_by_date(list, parents->item);
+ struct commit *commit = parents->item;
+ if (!commit->object.parsed) {
+ parse_commit(commit);
+ insert_by_date(list, commit);
+ }
parents = parents->next;
}
return ret;