On Mon, Jun 22, 2015 at 6:30 AM, Junio C Hamano [off-list ref] wrote:
On Sun, Jun 21, 2015 at 1:48 PM, Karthik Nayak [off-list ref] wrote:
quoted
+static void do_merge_filter(struct ref_filter_cbdata *ref_cbdata)
+{
+ struct rev_info revs;
+ int i, old_nr;
+ struct ref_filter *filter = ref_cbdata->filter;
+ struct ref_array *array = ref_cbdata->array;
+ struct commit_list *p, *to_clear = NULL;
+
+ init_revisions(&revs, NULL);
+
+ for (i = 0; i < array->nr; i++) {
+ struct ref_array_item *item = array->items[i];
+ add_pending_object(&revs, &item->commit->object, item->refname);
+ commit_list_insert(item->commit, &to_clear);
Use of commit_list for an array of known number of commits feels somewhat
wasteful. Couldn't to_clear be
struct commit **to_clear = xcalloc(sizeof(struct commit *), array->nr);
instread?
Awesome! you're right, will drop the commit_list.