Re: Bad objects error since upgrading GitHub servers to 1.6.1
flat view
From: Jeff King <hidden>
Date: 2016-06-15 22:46:03
On Tue, Jan 27, 2009 at 11:14:56PM -0800, Junio C Hamano wrote:
I've been toying with an idea for an alternative solution, and need somebody competent to bounce it around with.
Well, unfortunately for you, you are stuck with me. ;P
Here is my work in progress. It introduces "ignore-missing-negative" option to the revision traversal machinery, and squelches the places we currently complain loudly and die when we expect an object to be available, when the color we are going to paint the object with is UNINTERESTING. I have a mild suspicion that it may even be the right thing to ignore them unconditionally, and it might even match the intention of Linus's original code. That would make many hunks in this patch much simpler.
I'm not sure it is a good idea to do so unconditionally. In the case of
negatives for transferring files, a missed negative is simply a missed
opportunity for optimizing the resulting pack.
But in other cases, it silently gives you the wrong answer. For
example, consider a history like:
C--D
/
A--B
\
E--F
now let's suppose I have everything except 'E'. If I ask for
git rev-list F..D
then it will not realize that A and B are uninteresting, and I will get
A-B-C-D. I think it is much better for git to complain loudly that it
could not compute the correct answer.
Am I understanding the issue correctly?
-Peff