Re: [PATCH 1/4] commit: reload cache properly
- From
Duy Nguyen <pclouds@gmail.com>
- Date
- May 30, 2013, 13:08 UTC
- Message-ID
- <CACsJy8BuSaY=H9Pb6FuTEiQkm18h-kW86ZOVtaaDpMkjFEnqcQ@mail.gmail.com>
- In-Reply-To
- <87ehcok6gl.fsf@linux-k42r.v.cablecom.net>
On Thu, May 30, 2013 at 7:17 PM, Thomas Rast <trast@inf.ethz.ch> wrote:
Show 16 quoted lines
> Felipe Contreras <felipe.contreras@gmail.com> writes:
>
>> We are supposedly adding files, to to which cache if 'the_index' is
>> discarded?
> [...]
>> if (!current_head) {
>> discard_cache();
>> + if (read_cache() < 0)
>> + die(_("cannot read the index"));
>> return;
>> }
>
> It is not obvious to me that this is a correct change. discard_cache()
> without subsequent reloading could also legitimately be used to empty
> the index. So if you are fixing a bug, please justify the change and
> provide a testcase to guard against it in the future.That discard_cache line I think came from fa9dcf8 (Fix performance regression for partial commits - 2008-01-13). The code flow back then was
if (initial_commit) discard_cache();
add_remove_files(); /* do something more */
A quick look from current code seems to indicate this pattern is still valid for creating partial commits, where temporary index will be thrown away afterwards. But I may be wrong. -- Duy