Re: [PATCH v3 04/24] read-cache: clear version in discard_index()
- From
Thomas Gummerer <t.gummerer@gmail.com>
- Date
- Aug 21, 2013, 03:06 UTC
- Message-ID
- <87ob8r4ua0.fsf@gmail.com>
- In-Reply-To
- <xmqqmwoc5f6t.fsf@gitster.dls.corp.google.com>
Junio C Hamano <gitster@pobox.com> writes:
Show 14 quoted lines
> Thomas Gummerer <t.gummerer@gmail.com> writes: > >> All fields except index_state->version are reset in discard_index. >> Reset the version too. > > What is the practical consequence of not clearing this field? I > somehow have a feeling that this was done deliberately, so that we > can stick to the version of the index file format better, once the > user said "update-index --index-version $N" to set it up. I suspect > that the patch would affect a codepath that does read_cache(), calls > discard_index(), populates the index and then does write_cache(). > We stick to the version the user specified earlier in our current > code, while the patched code will revert to whatever default built > into your Git binary, no?
Yeah you're right, I missed that use-case. I'll drop this patch from the re-roll. Sorry for the noise.
Show 18 quoted lines
>> >> Signed-off-by: Thomas Gummerer <t.gummerer@gmail.com> >> --- >> read-cache.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/read-cache.c b/read-cache.c >> index de0bbcd..1e22f6f 100644 >> --- a/read-cache.c >> +++ b/read-cache.c >> @@ -1558,6 +1558,7 @@ int discard_index(struct index_state *istate) >> for (i = 0; i < istate->cache_nr; i++) >> free(istate->cache[i]); >> resolve_undo_clear_index(istate); >> + istate->version = 0; >> istate->cache_nr = 0; >> istate->cache_changed = 0; >> istate->timestamp.sec = 0;