From: Jeff King Date: Thu, 22 Aug 2013 14:43:05 GMT Subject: Re: [PATCH 2/4] index-pack: optionally reject packs with duplicate objects Message-ID: <20130822144305.GA21219@sigill.intra.peff.net> In-Reply-To: On Thu, Aug 22, 2013 at 08:45:19PM +0700, Nguyen Thai Ngoc Duy wrote: > On Thu, Aug 22, 2013 at 3:52 AM, Jeff King wrote: > > @@ -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? Good question. I'm not sure. I'll check it out. -Peff