Re: [PATCH v4 06/19] ref-filter: implement '--merged' and '--no-merged' options
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jun 22, 2015, 01:00 UTC
- Message-ID
- <CAPc5daVtMjv=shHhnnR=_p37ND9-64MV-wrsfQA9p2OQ0DbZUA@mail.gmail.com>
- In-Reply-To
- <1434919705-4884-6-git-send-email-karthik.188@gmail.com>
On Sun, Jun 21, 2015 at 1:48 PM, Karthik Nayak <karthik.188@gmail.com> wrote:
Show 14 quoted lines
> +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?