Re: Bad objects error since upgrading GitHub servers to 1.6.1
- From
Jeff King <peff@peff.net>
- Date
- Jan 28, 2009, 18:11 UTC
- Message-ID
- <20090128181115.GF8863@coredump.intra.peff.net>
- In-Reply-To
- <20090128160900.GJ1321@spearce.org>
On Wed, Jan 28, 2009 at 08:09:00AM -0800, Shawn O. Pearce wrote:
Show 9 quoted lines
> I don't think its right to ignore broken UNINTERESTING chains all > of the time. Today we would see fatal errors if I asked for > > git log R ^C > > and A was missing, but R and C are both local refs. I still want > to see that fatal error. Its a local corruption that should be > raised quickly to the user. In fact by A missing we'd compute the > wrong result and produce D-E too, which is wrong.
I think you wrote this before reading the other part of the thread where we see that many of these checks are not in C git. But to be clear, even without Junio's patches the exact case I mentioned is not currently reported as an error (i.e., will produce incorrect results). I tested with:
-- >8 --
commit() {
echo $1 >$1 && git add $1 && git commit -m $1 && git tag $1
}mkdir repo && cd repo && git init commit A commit B commit C commit D git checkout -b other B commit E commit F
rm -f .git/objects/`git rev-parse E | sed 's,^..,&/,'` git log F..D -- 8< --
which shows A-B-C-D.
-Peff