Re: [PATCH v9 33/41] environment: add set_index_file()

2 messages, 2 authors, 2016-08-03 · open the first message on its own page

Re: [PATCH v9 33/41] environment: add set_index_file()

From: Junio C Hamano <hidden>
Date: 2016-08-01 20:40:48

Junio C Hamano [off-list ref] writes:
Stefan Beller [off-list ref] writes:
quoted
In cache.h we have a NO_THE_INDEX_COMPATIBILITY_MACROS,
and lots of
  #define foo_bar(..) frob_bar(&the_index, (..))

Could you operate on the raw functions that take pointers to &the_index
and point these to a temporary index?
Isn't mention of the_index is a red-herring?

The in-core index_state does not even know what file it needs to be
written to, so whether you explicitly specify your own index or use
the compat macros to access the_index, you would need to specify to
which file you would write it out or from which file you would read
the new contents.
Having said that, I agree with you that the cop-out "Yes we know
this is bad" needs a lot more clarification, pointing out what issue
this side-steps and a direction to solve it correctly.

Re: [PATCH v9 33/41] environment: add set_index_file()

From: Christian Couder <hidden>
Date: 2016-08-03 07:22:22

On Mon, Aug 1, 2016 at 10:40 PM, Junio C Hamano [off-list ref] wrote:
Junio C Hamano [off-list ref] writes:
quoted
Stefan Beller [off-list ref] writes:
quoted
In cache.h we have a NO_THE_INDEX_COMPATIBILITY_MACROS,
and lots of
  #define foo_bar(..) frob_bar(&the_index, (..))

Could you operate on the raw functions that take pointers to &the_index
and point these to a temporary index?
Isn't mention of the_index is a red-herring?

The in-core index_state does not even know what file it needs to be
written to, so whether you explicitly specify your own index or use
the compat macros to access the_index, you would need to specify to
which file you would write it out or from which file you would read
the new contents.
Having said that, I agree with you that the cop-out "Yes we know
this is bad" needs a lot more clarification, pointing out what issue
this side-steps and a direction to solve it correctly.
I am ok to add more explanations like those in my answer to Stefan in
the commit message, and also to add a warning comment in cache.h, but
I am not sure I know really well how to solve these issues correctly.
So I am not sure what I could add about that, except perhaps that it
is an other project to fix these issues and that it should start by
fixing them in other core libified code like dir.c and diff.c.

Do you want me to resend everything, or is it ok if I just resend the
last 9 patches in the series, so starting from this patch (32/41)?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help