From: Jeff King Date: Wed, 05 Feb 2014 17:25:11 GMT Subject: Re: [PATCH 4/4] revision: convert to using diff_tree_sha1() Message-ID: <20140205172511.GA7268@sigill.intra.peff.net> In-Reply-To: <975fbde9bdd2c5aad7376e398ca8001b9a41d2d6.1391619218.git.kirr@mns.spb.ru> On Wed, Feb 05, 2014 at 08:57:12PM +0400, Kirill Smelkov wrote: > Since diff_tree_sha1() can now accept empty trees via NULL sha1, we > could just call it without manually reading trees into tree_desc and > duplicating code. > > Besides, that > > if (!tree) > return 0; > > looked suspect - we were saying an invalid tree != empty tree, but maybe it is > better to just say the tree is invalid here, which is what diff_tree_sha1() > does for such case. I think that is sensible. The assertion that "invalid != empty" is probably sane, because we handle the empty tree as internal magic. But I do not see any reason we should be hitting this code path regularly with an invalid tree, short of repository corruption, so in practice I don't think it matters. This does introduce a die() where there was not one previously, and that can make things harder to diagnose/debug in a corrupted repository. But it looks like this is limited to the history-simplification code, and I suspect that it is not commonly used in the case of corruption. So I think the patch looks fine. -Peff