Subject: Re* [BUG?] "error: cache entry has null sha1"

From: Junio C Hamano <[email-masked]>
Date: Fri, 1 Nov 2013 15:44:52 -0700

Jeff King <[email-masked]> writes:

> On Thu, Oct 31, 2013 at 01:15:39PM -0400, Jeff King wrote:
>
>> On Thu, Oct 31, 2013 at 10:11:49AM -0700, Junio C Hamano wrote:
>> 
>> >  - Try to discard
>> > 
>> >    $ git am --abort
>> >    error: cache entry has null sha1: remote-curl.c
>> >    fatal: unable to write new index file
>> > 
>> >    This should not happen, no?
>> > 
>> > "git reset --hard" will remove the funnies, but still...
>> 
>> I ran into this recently, too. Isn't it just the twoway_merge bug we
>> were discussing here:
>> 
>>   http://thread.gmane.org/gmane.comp.version-control.git/202440/focus=212316
>> 
>> I don't think we ever actually applied a fix.
>
> Also, the followup:
>
>   http://thread.gmane.org/gmane.comp.version-control.git/217172

OK, so it appears that we sort of agreed that the pieces of patches
in the thread was good at $gmane/217300, but somehow I ended up
veering into a tangent from there and forgot about the topic X-<?

Here is a proposed endgame for the topic in a patch form, then.

I've added a test for low-level "read-tree --reset -u A B", and
tried the "am --abort" I saw the problem with manually, but other
than that, I haven't (re)thought about the issue hard enough to be
comfortable with this change yet.

To be applied on top of c479d14, but the result should be mergeable
cleanly all the way up to 'pu'.

Jeff King (1):
  unpack-trees: fix "read-tree -u --reset A B" with conflicted index

Junio C Hamano (2):
  t1005: reindent
  t1005: add test for "read-tree --reset -u A B"

 t/lib-read-tree.sh         |  52 ++++++++---------
 t/t1005-read-tree-reset.sh | 141 +++++++++++++++++++++++++--------------------
 unpack-trees.c             |  25 +++++---
 3 files changed, 121 insertions(+), 97 deletions(-)

-- 
1.8.5-rc0-281-g8951339