From: Duy Nguyen Date: Thu, 30 May 2013 13:08:01 GMT Subject: Re: [PATCH 1/4] commit: reload cache properly Message-ID: In-Reply-To: <87ehcok6gl.fsf@linux-k42r.v.cablecom.net> On Thu, May 30, 2013 at 7:17 PM, Thomas Rast wrote: > Felipe Contreras 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