Re: [PATCH 1/5] t5312: test object deletion code paths in a corrupted repository
- From
Jeff King <peff@peff.net>
- Date
- Mar 19, 2015, 21:47 UTC
- Message-ID
- <20150319214707.GA8680@peff.net>
- In-Reply-To
- <xmqqvbhwheb6.fsf@gitster.dls.corp.google.com>
On Thu, Mar 19, 2015 at 02:23:25PM -0700, Junio C Hamano wrote:
Show 15 quoted lines
> Jeff King <peff@peff.net> writes: > > >> A safer check may be to pack and then make it missing, I guess, but > >> I do not know if the difference matters. > > > > Yeah, I considered that. The trouble is that we are relying on the > > earlier setup that made the object go missing. We cannot pack the refs > > in the setup step, because the earlier tests are checking the loose-ref > > behavior. So we would have to actually restore the object, pack, and > > then re-delete it. > > Yes, "restore pack redelete" was what I had in mind when I wondered > such a sequence of extra steps is worth and the difference between > such an approach and an approach to use a hand-crafted packed-refs > file matters.
I took a look at this. It turns out to be rather annoying, because we can't just restore $missing. The earlier tests may have deleted other random objects (like $recoverable) depending on whether or not they actually failed.
So I'm inclined to leave it (we do confirm with the rev-parse call at the end of the setup that our packed-refs file is working) unless you feel strongly. If you do, I'd rather go the route of sticking each corruption in its own separate sub-repo.
-Peff