From: Junio C Hamano <gitster@pobox.com>
To: Jeff King <peff@peff.net>
Cc: "René Scharfe" <l.s.r@web.de>,
"Shawn Pearce" <spearce@spearce.org>,
"Martin von Gagern" <Martin.vGagern@gmx.net>,
git@vger.kernel.org
Subject: Re: [PATCH 3/2] t5309: mark delta-cycle failover tests as passing
Date: Tue, 02 Sep 2014 10:19:37 -0700 [thread overview]
Message-ID: <xmqqoauy2b4m.fsf@gitster.dls.corp.google.com> (raw)
In-Reply-To: <20140831151550.GA16499@peff.net> (Jeff King's message of "Sun, 31 Aug 2014 11:15:50 -0400")
Jeff King <peff@peff.net> writes:
> We used to do that because the only way to correctly resolve them was by
> introducing a duplicate base object, and we did not allow that. Patch 2
> from my series loosened this, which makes index-pack work, but not
> necessarily the rest of git. And since index-pack is the gatekeeper on
> receiving objects from remotes, it needs to be the _most_ picky. So my
> series is definitely a regression as-is.
Yeah, at first, allowing the delta resolution so that we can
resurrect data from such a corrupt pack looked a no-brainer
improvement, but I think that is probably a right conclusion.
Thanks for digging this one through.
> I wonder if index-pack is really the right place for such a "please
> help me get the data out of this broken pack" operation in the
> first place. If it is a broken pack, we are probably much better
> off to explode it into loose objects than try to index a broken
> pack. That's way less efficient, but this should be a last-resort.
Most objects in such a broken pack do not have to get unpacked, no?
I wonder if we can excise duplicate objects from the pack stream,
which would involve adjusting the delta offset for any ofs-delta
representations that appear after the part we cut out of the stream
to remove such cruft.
next prev parent reply other threads:[~2014-09-02 17:19 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-21 11:35 [BUG] resolved deltas Petr Stodulka
2014-08-21 18:25 ` Petr Stodulka
2014-08-22 19:41 ` Martin von Gagern
2014-08-23 10:12 ` René Scharfe
2014-08-23 10:56 ` Jeff King
2014-08-23 11:04 ` Jeff King
2014-08-23 11:18 ` Jeff King
2014-08-25 16:39 ` René Scharfe
2014-08-28 22:08 ` Jeff King
2014-08-28 22:15 ` Jeff King
2014-08-28 23:04 ` Jeff King
2014-08-28 22:22 ` Jeff King
2014-08-28 23:14 ` Junio C Hamano
2014-08-29 20:55 ` Jeff King
2014-08-29 20:57 ` [PATCH 1/2] index-pack: fix race condition with duplicate bases Jeff King
2014-08-29 20:58 ` [PATCH 2/2] index-pack: handle duplicate base objects gracefully Jeff King
2014-08-29 21:56 ` Junio C Hamano
2014-08-29 22:08 ` Jeff King
2014-08-30 2:59 ` Shawn Pearce
2014-08-30 13:16 ` Jeff King
2014-08-30 16:00 ` René Scharfe
2014-08-31 15:17 ` Jeff King
2014-08-31 16:30 ` René Scharfe
2014-08-31 1:10 ` Shawn Pearce
2014-08-31 15:24 ` Jeff King
2014-08-31 22:23 ` Junio C Hamano
2014-08-30 13:23 ` [PATCH 3/2] t5309: mark delta-cycle failover tests as passing Jeff King
2014-08-31 15:15 ` Jeff King
2014-09-02 17:19 ` Junio C Hamano [this message]
2014-08-25 17:19 ` [BUG] resolved deltas Shawn Pearce
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqoauy2b4m.fsf@gitster.dls.corp.google.com \
--to=gitster@pobox.com \
--cc=Martin.vGagern@gmx.net \
--cc=git@vger.kernel.org \
--cc=l.s.r@web.de \
--cc=peff@peff.net \
--cc=spearce@spearce.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.