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

Re: [PATCH v3 08/21] Documentation/git-update-index: talk about core.splitIndex config var

From
Christian Couder <christian.couder@gmail.com>
Date
Jan 23, 2017, 15:55 UTC
Message-ID
<CAP8UFD2aQJ92KjzTQTGLyYeEuVk9TK51mn05OSWCZu5c4c6WuQ@mail.gmail.com>
In-Reply-To
<CACsJy8D1Pf6zTS8gqv5Gq6xMxNNbDrTpKHGADRMKNqW1FAzZvA@mail.gmail.com>
On Mon, Jan 9, 2017 at 12:18 PM, Duy Nguyen <pclouds@gmail.com> wrote:
Show 36 quoted lines
> On Sun, Jan 8, 2017 at 4:38 AM, Junio C Hamano <gitster@pobox.com> wrote:
>> Christian Couder <christian.couder@gmail.com> writes:
>>
>>> It feels strange that when I do things one way, you suggest another
>>> way, and the next time in a similar situation when I do things the way
>>> you suggested previously, then you suggest the way I did it initially
>>> the first time...
>>
>> Perhaps because neither is quite satisfactory and I am being forced
>> to choose between the two unsatifactory designs?  In any case, I
>> mostly am and was pointing out the issues and not saying the other
>> one is the most preferred solution in these threads.
>>
>> I think there should just be one authoritative source of the truth,
>
> Either that, or we make sure all sources of truth are consistent. In
> this case, 'update --split-index' could update core.splitIndex if it
> finds that the config tells a different story. As a plumbing though, I
> rather leave update-index do simple things, even if it means the user
> has to clean up after it (or before it) with "git config -unset
> core.splitIndex". Another option is refuse to execute --split-index in
> the presence of (conflicting) core.splitIndex. We kind of force the
> user to keep all sources of truth consistent this way while leaving a
> back door ("git -c core.splitIndex= update-index") for those who need
> tools to recover from a bad case.
>
>> and I have always thought it should be the bit set in the index file
>> when the command line option is used, because that was the way the
>> feature was introduced first and I am superstitious about end-user
>> inertia.  And from that point of view, no matter how you make this
>> new "config" thing interact with it, it would always give a strange
>> and unsatifactory end-user experience, at least to me.
>>
>> Perhaps we should declare that config will be the one and only way
>> in the future and start deprecating the command line option way.
>> That will remove the need for two to interact with each other.

That would be my preferred solution as I think it is the simplest in the end for users. Also, as Duy wrote above, one can always use something like "git -c core.splitIndex= ...", which by the way can work for any command, not just "update-index".

Anyway we would have to introduce core.splitIndex first, and it wouldn't make sense to have a different behavior between --[no-]split-index and --[no-]untracked-cache in the meantime before they are deprecated and eventually removed.

So let's just go with the implementation in this series, which is similar to --[no-]untracked-cache, and let's plan to deprecate --[no-]split-index and --[no-]untracked-cache in a later patch series.

Previous: Duy NguyenNext: Junio C Hamano
Message 50 of 56 in “Add configuration options for split-index”
  1. 00/21 Add configuration options for split-indexChristian Couder, Dec 26, 2016
  2. 01/21 config: mark an error message up for translationChristian Couder, Dec 26, 2016
  3. 02/21 config: add git_config_get_split_index()Christian Couder, Dec 26, 2016
  4. 03/21 split-index: add {add,remove}_split_index() functionsChristian Couder, Dec 26, 2016
  5. 04/21 read-cache: add and then use tweak_split_index()Christian Couder, Dec 26, 2016
  6. 09/21 config: add git_config_get_max_percent_split_change()Christian Couder, Dec 26, 2016
  7. 10/21 read-cache: regenerate shared index if necessaryChristian Couder, Dec 26, 2016
  8. Junio C HamanoDec 27, 2016
  9. Christian CouderJan 2, 2017
  10. 05/21 update-index: warn in case of split-index incoherencyChristian Couder, Dec 26, 2016
  11. 11/21 t1700: add tests for splitIndex.maxPercentChangeChristian Couder, Dec 26, 2016
  12. 15/21 config: add git_config_get_expiry() from gc.cChristian Couder, Dec 26, 2016
  13. 12/21 Documentation/config: add splitIndex.maxPercentChangeChristian Couder, Dec 26, 2016
  14. Junio C HamanoDec 27, 2016
  15. Christian CouderJan 2, 2017
  16. 19/21 read-cache: use freshen_shared_index() in read_index_from()Christian Couder, Dec 26, 2016
  17. 20/21 Documentation/config: add splitIndex.sharedIndexExpireChristian Couder, Dec 26, 2016
  18. Junio C HamanoDec 27, 2016
  19. Christian CouderJan 2, 2017
  20. 17/21 t1700: test shared index file expirationChristian Couder, Dec 26, 2016
  21. 21/21 Documentation/git-update-index: explain splitIndex.*Christian Couder, Dec 26, 2016
  22. Junio C HamanoDec 27, 2016
  23. Christian CouderJan 2, 2017
  24. 18/21 read-cache: refactor read_index_from()Christian Couder, Dec 26, 2016
  25. 16/21 read-cache: unlink old sharedindex filesChristian Couder, Dec 26, 2016
  26. 14/21 read-cache: touch shared index files when usedChristian Couder, Dec 26, 2016
  27. Junio C HamanoDec 27, 2016
  28. Christian CouderJan 2, 2017
  29. Junio C HamanoJan 7, 2017
  30. Duy NguyenJan 9, 2017
  31. Junio C HamanoJan 9, 2017
  32. Duy NguyenJan 19, 2017
  33. Junio C HamanoJan 19, 2017
  34. Duy NguyenJan 20, 2017
  35. Christian CouderJan 23, 2017
  36. Junio C HamanoJan 23, 2017
  37. Christian CouderJan 25, 2017
  38. Junio C HamanoJan 25, 2017
  39. Christian CouderJan 31, 2017
  40. Junio C HamanoJan 31, 2017
  41. Junio C HamanoJan 31, 2017
  42. 13/21 sha1_file: make check_and_freshen_file() non staticChristian Couder, Dec 26, 2016
  43. Junio C HamanoDec 27, 2016
  44. 07/21 Documentation/config: add information for core.splitIndexChristian Couder, Dec 26, 2016
  45. 08/21 Documentation/git-update-index: talk about core.splitIndex config varChristian Couder, Dec 26, 2016
  46. Junio C HamanoDec 27, 2016
  47. Christian CouderJan 2, 2017
  48. Junio C HamanoJan 7, 2017
  49. Duy NguyenJan 9, 2017
  50. Christian CouderJan 23, 2017
  51. Junio C HamanoJan 23, 2017
  52. 06/21 t1700: add tests for core.splitIndexChristian Couder, Dec 26, 2016
  53. Junio C HamanoDec 27, 2016
  54. Christian CouderJan 2, 2017
  55. Junio C HamanoJan 3, 2017
  56. Christian CouderDec 26, 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.