Re: [PATCH 2/4] index-pack: optionally reject packs with duplicate objects
On Thu, Aug 22, 2013 at 08:45:19PM +0700, Nguyen Thai Ngoc Duy wrote:
Show 22 quoted lines
> On Thu, Aug 22, 2013 at 3:52 AM, Jeff King <peff@peff.net> 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