git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Christian Couder <christian.couder@gmail.com>
Date
Aug 3, 2016, 06:57 UTC
Message-ID
<CAP8UFD2GS1woM0msKJ3w5Bi4LUDkAySScBvk3xAVFVApeZxhWw@mail.gmail.com>
In-Reply-To
<xmqqh9b4i5o6.fsf@gitster.mtv.corp.google.com>
On Mon, Aug 1, 2016 at 10:40 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 22 quoted lines
> Junio C Hamano <gitster@pobox.com> writes:
>
>> Stefan Beller <sbeller@google.com> writes:
>>
>>> 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)?

Previous: Junio C HamanoNext: Christian Couder
Message 34 of 53 in “libify apply and use lib in am, part 2”
  1. 00/41 libify apply and use lib in am, part 2Christian Couder, Jul 30, 2016
  2. 01/41 apply: make some names more specificChristian Couder, Jul 30, 2016
  3. 02/41 apply: move 'struct apply_state' to apply.hChristian Couder, Jul 30, 2016
  4. 03/41 builtin/apply: make apply_patch() return -1 or -128 instead of die()ingChristian Couder, Jul 30, 2016
  5. Stefan BellerAug 1, 2016
  6. 04/41 builtin/apply: read_patch_file() return -1 instead of die()ingChristian Couder, Jul 30, 2016
  7. Stefan BellerAug 1, 2016
  8. 05/41 builtin/apply: make find_header() return -128 instead of die()ingChristian Couder, Jul 30, 2016
  9. 06/41 builtin/apply: make parse_chunk() return a negative integer on errorChristian Couder, Jul 30, 2016
  10. 07/41 builtin/apply: make parse_single_patch() return -1 on errorChristian Couder, Jul 30, 2016
  11. 20/41 builtin/apply: make remove_file() return -1 on errorChristian Couder, Jul 30, 2016
  12. 16/41 builtin/apply: make gitdiff_*() return 1 at end of headerChristian Couder, Jul 30, 2016
  13. 18/41 builtin/apply: change die_on_unsafe_path() to check_unsafe_path()Christian Couder, Jul 30, 2016
  14. 23/41 builtin/apply: make create_file() return -1 on errorChristian Couder, Jul 30, 2016
  15. 25/41 builtin/apply: make write_out_results() return -1 on errorChristian Couder, Jul 30, 2016
  16. 27/41 builtin/apply: make create_one_file() return -1 on errorChristian Couder, Jul 30, 2016
  17. 21/41 builtin/apply: make add_conflicted_stages_file() return -1 on errorChristian Couder, Jul 30, 2016
  18. 24/41 builtin/apply: make write_out_one_result() return -1 on errorChristian Couder, Jul 30, 2016
  19. 29/41 apply: rename and move opt constants to apply.hChristian Couder, Jul 30, 2016
  20. 36/41 apply: don't print on stdout in verbosity_silent modeChristian Couder, Jul 30, 2016
  21. 31/41 apply: make some parsing functions static againChristian Couder, Jul 30, 2016
  22. 22/41 builtin/apply: make add_index_file() return -1 on errorChristian Couder, Jul 30, 2016
  23. 37/41 usage: add set_warn_routine()Christian Couder, Jul 30, 2016
  24. 19/41 builtin/apply: make build_fake_ancestor() return -1 on errorChristian Couder, Jul 30, 2016
  25. 26/41 builtin/apply: make try_create_file() return -1 on errorChristian Couder, Jul 30, 2016
  26. 39/41 apply: change error_routine when silentChristian Couder, Jul 30, 2016
  27. Stefan BellerAug 1, 2016
  28. Christian CouderAug 8, 2016
  29. 17/41 builtin/apply: make gitdiff_*() return -1 on errorChristian Couder, Jul 30, 2016
  30. 33/41 environment: add set_index_file()Christian Couder, Jul 30, 2016
  31. Stefan BellerAug 1, 2016
  32. Junio C HamanoAug 1, 2016
  33. Junio C HamanoAug 1, 2016
  34. Christian CouderAug 3, 2016
  35. Christian CouderAug 3, 2016
  36. 28/41 builtin/apply: rename option parsing functionsChristian Couder, Jul 30, 2016
  37. 34/41 write_or_die: use warning() instead of fprintf(stderr, ...)Christian Couder, Jul 30, 2016
  38. 38/41 usage: add get_error_routine() and get_warn_routine()Christian Couder, Jul 30, 2016
  39. 35/41 apply: make it possible to silently applyChristian Couder, Jul 30, 2016
  40. Junio C HamanoAug 1, 2016
  41. 41/41 builtin/am: use apply api in run_apply()Christian Couder, Jul 30, 2016
  42. 32/41 apply: use error_errno() where possibleChristian Couder, Jul 30, 2016
  43. 40/41 apply: refactor `git apply` option parsingChristian Couder, Jul 30, 2016
  44. 15/41 builtin/apply: make parse_traditional_patch() return -1 on errorChristian Couder, Jul 30, 2016
  45. 14/41 builtin/apply: make apply_all_patches() return 128 or 1 on errorChristian Couder, Jul 30, 2016
  46. 10/41 builtin/apply: move init_apply_state() to apply.cChristian Couder, Jul 30, 2016
  47. 12/41 builtin/apply: make check_apply_state() return -1 instead of die()ingChristian Couder, Jul 30, 2016
  48. 13/41 builtin/apply: move check_apply_state() to apply.cChristian Couder, Jul 30, 2016
  49. 11/41 apply: make init_apply_state() return -1 instead of exit()ingChristian Couder, Jul 30, 2016
  50. 08/41 builtin/apply: make parse_whitespace_option() return -1 instead of die()ingChristian Couder, Jul 30, 2016
  51. 09/41 builtin/apply: make parse_ignorewhitespace_option() return -1 instead of die()ingChristian Couder, Jul 30, 2016
  52. Christian CouderJul 30, 2016
  53. Junio C HamanoAug 1, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.