commit: avoid allocation in clear_commit_marks_many()
Pass the entries of the commit array directly to clear_commit_marks_1() instead of adding them to a commit_list first. The function clears the commit and any first parent without allocation; only higher numbered parents are added to a list for later treatment. This change extends that optimization to clear_commit_marks_many(). Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
René Scharfe committed
Dec 25, 2017 at 18:43 UTC
07f7d55a346f0eb73a358736ce065f8c08b46452
1 file changed
+1
-1
commit.c
+1
-1
@@ -547,7 +547,7 @@ void clear_commit_marks_many(int nr, struct commit **commit, unsigned int mark)
547
struct commit_list *list = NULL;
548
549
while (nr--) {
550
- commit_list_insert(*commit, &list);
550
+ clear_commit_marks_1(&list, *commit, mark);
551
commit++;
552
}
553
while (list)