John Keeping <j...@keeping.me.uk> writes:

> On Fri, Jul 11, 2014 at 09:44:33PM -0700, David Turner wrote:
>> When git checkout checks out a branch, create or update the
>> cache-tree so that subsequent operations are faster.
>> 
>> update_main_cache_tree learned a new flag, WRITE_TREE_REPAIR.  When
>> WRITE_TREE_REPAIR is set, portions of the cache-tree which do not
>> correspond to existing tree objects are invalidated (and portions which
>> do are marked as valid).  No new tree objects are created.
>> 
>> Signed-off-by: David Turner <dtur...@twitter.com>
>> ---
>
> This causes an incorrect error message to be printed when switching
> branches with staged changes in a subdirectory.  The test case is pretty
> simple:
>
>       git init test &&
>       cd test &&
>       mkdir sub &&
>       echo one >sub/one &&
>       git add sub/one &&
>       git commit -m one &&
>       echo two >sub/two &&
>       git add sub/two &&
>       git checkout -b test
>
> After this commit the output is:
>
>       error: invalid object 040000 0000000000000000000000000000000000000000 
> for 'bar'
>       A       bar/quux
>       Switched to branch 'test'
>
> but the "error:" line should not be there.
Yeah, this seems to be broken and I am unhappy that I didn't notice
it myself as I always use a version that is somewhat ahead of 'next'
myself.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to