Thomas Gummerer <t.gumme...@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?

>
> Signed-off-by: Thomas Gummerer <t.gumme...@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;
--
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