Thread (9 messages) flat view 9 messages, 3 authors, 2016-06-15

Re: [PATCH 2/2] fsck: report errors if reflog entries point at invalid objects

From: Johannes Schindelin <hidden>
Date: 2016-06-15 23:05:12

Hi Peff,

On 2015-06-08 18:56, Jeff King wrote:
On Mon, Jun 08, 2015 at 06:00:09PM +0200, Johannes Schindelin wrote:
quoted
quoted
quoted
I like the idea, but I am a bit uncertain whether it would constitute
"too backwards-incompatible" a change to make this an error. I think
it could be argued both ways: it *is* an improvement, but it could
also possibly disrupt scripts that work pretty nicely at the moment.
What kind of script are you worried about?
I was concerned about scripts that work on repositories whose reflogs
become inconsistent for whatever reason (that happened a lot to me in
the past, IIRC it had something to do with bare repositories and/or
shared object databases).
I think these repositories are already broken. You cannot run `git gc`
in such a repository, as it will barf when trying to walk the reflog
tips during `git repack`.

We run into this exact situation at GitHub because of our shared object
databases. Our per-fork repack code basically has to do:

  if ! git repack ...; then
    git reflog expire --expire-unreachable=all --all &&
    git repack ... ||
    die "ok, it really is broken"
  fi
Good point. So if I needed any more convincing that Michael's patch is a bug fix (as opposed to a backwards-incompatible change), this did it.

Ciao,
Dscho
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help