Re: [PATCH 2/4] index-pack: optionally reject packs with duplicate objects
- From
Duy Nguyen <pclouds@gmail.com>
- Date
- Aug 22, 2013, 13:45 UTC
- Message-ID
- <CACsJy8DkUeS3s+X=gKX4ZAi82g_D_9t=bBVs8NNY2EeqM9W-rQ@mail.gmail.com>
- In-Reply-To
- <20130821205220.GB28165@sigill.intra.peff.net>
On Thu, Aug 22, 2013 at 3:52 AM, Jeff King <peff@peff.net> wrote:
Show 17 quoted lines
> @@ -68,6 +81,16 @@ const char *write_idx_file(const char *index_name, struct pack_idx_entry **objec
> else
> sorted_by_sha = list = last = NULL;
>
> + if (opts->duplicates == WRITE_IDX_DUPLICATES_REJECT) {
> + struct pack_idx_entry **dup;
> +
> + dup = find_duplicate(sorted_by_sha, nr_objects,
> + sizeof(*sorted_by_sha), sha1_compare);
> + if (dup)
> + die("pack has duplicate entries for %s",
> + sha1_to_hex((*dup)->sha1));
> + }
> +
> if (opts->flags & WRITE_IDX_VERIFY) {
> assert(index_name);
> f = sha1fd_check(index_name);write_idx_file() is called after index-pack processes all delta objects. Could resolve_deltas() go cyclic with certain duplicate object setup?
-- Duy