git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Jeff King <peff@peff.net>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org, Jens Lehmann <Jens.Lehmann@web.de>
Subject: Re: [PATCH 0/3] null sha1 in trees
Date: Mon, 30 Jul 2012 11:42:14 -0400	[thread overview]
Message-ID: <20120730154214.GA16701@sigill.intra.peff.net> (raw)
In-Reply-To: <7v8ve2uscw.fsf@alter.siamese.dyndns.org>

On Sun, Jul 29, 2012 at 03:15:11PM -0700, Junio C Hamano wrote:

> All looked reasonable, even though I'd want to read the
> surrounding codepath over for 2/3 a few more times.
> 
> Will queue; thanks.

Yeah, 2/3 is the one that gives me the most pause. I originally assumed
we would never want to put a null-sha1 entry into the in-core index, but
that turned out to be very wrong. So I softened my assumption to "we
would never want to put a null-sha1 entry on disk". Which seems like the
right thing to me and passes the test suite, but there might be an
unexercised code path in there.

In an ideal world, I would trace each code path that inserts a cache
entry all the way back to its original sha1, but when I tried it turned
out too complex. The educated-guess-and-see-if-it-passes-tests approach
to coding does not make me happy, but I don't see a good alternative.

Patch 1 is a pure bug-fix, and it would be nice for it to make it onto a
maint- track or into 1.7.12 (though I can't guarantee that I got it 100%
right, I am confident that it is at least trying to do the right thing,
and any fixes would be incremental on top).  The other two should be
fine to cook longer and go in post-1.7.12.

-Peff

      reply	other threads:[~2012-07-30 15:42 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-28 15:01 [PATCH 0/3] null sha1 in trees Jeff King
2012-07-28 15:03 ` [PATCH 1/3] diff: do not use null sha1 as a sentinel value Jeff King
2012-07-28 15:05 ` [PATCH 2/3] do not write null sha1s to on-disk index Jeff King
2012-12-29 10:03   ` Jonathan Nieder
2012-12-29 10:27     ` Jeff King
2012-12-29 10:34       ` Jonathan Nieder
2012-12-29 10:42         ` Jeff King
2012-12-29 10:51           ` Jonathan Nieder
2012-12-29 11:05         ` Jeff King
2012-12-29 20:51           ` [BUG] two-way read-tree can write null sha1s into index Jeff King
2013-01-01 22:24             ` Junio C Hamano
2013-01-03  8:37               ` Jeff King
2013-01-03 15:34                 ` Junio C Hamano
2013-01-03 20:23                   ` Jeff King
2013-01-03 20:34                     ` Junio C Hamano
2013-01-03 20:36                       ` Jeff King
2013-01-03 22:33                         ` Junio C Hamano
2013-01-07 13:46                           ` Jeff King
2012-12-29 10:40       ` [PATCH 2/3] do not write null sha1s to on-disk index Jonathan Nieder
2012-07-28 15:06 ` [PATCH 3/3] fsck: detect null sha1 in tree entries Jeff King
2012-07-29 22:15 ` [PATCH 0/3] null sha1 in trees Junio C Hamano
2012-07-30 15:42   ` Jeff King [this message]

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

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120730154214.GA16701@sigill.intra.peff.net \
    --to=peff@peff.net \
    --cc=Jens.Lehmann@web.de \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    /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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).