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

Re: [PATCH v3 5/5] repo-settings: create feature.experimental setting

From
Derrick Stolee <stolee@gmail.com>
Date
Aug 8, 2019, 20:49 UTC
Message-ID
<1a2bf8e1-5cc1-c626-9dfc-dd6dc58fa0ad@gmail.com>
In-Reply-To
<CABPp-BGo5spDbk34YwAPGqT1Xgsr1dHm6OhxY1xKFQxQaotBig@mail.gmail.com>
On 8/8/2019 4:31 PM, Elijah Newren wrote:
Show 54 quoted lines
> On Thu, Aug 8, 2019 at 12:12 PM Derrick Stolee <stolee@gmail.com> wrote:
>>
>> On 8/8/2019 2:59 PM, Junio C Hamano wrote:
>>> Elijah Newren <newren@gmail.com> writes:
>>>
>>>>> --- a/Documentation/config/merge.txt
>>>>> +++ b/Documentation/config/merge.txt
>>>>> @@ -54,7 +54,8 @@ merge.directoryRenames::
>>>>>         moved into the new directory.  If set to "conflict", a conflict
>>>>>         will be reported for such paths.  If merge.renames is false,
>>>>>         merge.directoryRenames is ignored and treated as false.  Defaults
>>>>> -       to "conflict".
>>>>> +       to "conflict" unless `feature.experimental` is enabled and the
>>>>> +       default is "true".
>>>>
>>>> I have a hard time parsing that changed sentence.  Perhaps something like:
>>>>    ...unless `feature.experimental` is enabled in which case the
>>>> default is "true".
>>>> ?
>>>
>>> That reads better.
>>>
>>> But I am not sure about the wisdom of controlling between conflict
>>> and true with this feature macro in the first place.
>>>
>>> Between "conflict" and "true", the former forces the end user to
>>> verify (or allows the end user to veto) the auto resolution by the
>>> heuristics and is always a safer if more cumbersome option.  It's
>>> not like blindly trusting the directory rename heuristics is the
>>> bright future for all users, is it?
>>>
>>> I would not set rerere.autoUpdate to true when feature.experimental
>>> is set; for exactly the same reason, I do not find it reasonable to
>>> set this to true with feature.experimental macro.
>>
>> OK. I can remove it from the feature.experimental variable.
>>
>> Shall I keep the enum logic and the use of repo-settings.c? I can split
>> them out into a separate patch.
> 
> Good question.  In part, I was looking at this ds/feature-macros
> series because my cleanup-merge-api series[1] has some minor conflicts
> with it.  I'm a little unsure what route I should take with my series
> now.  Some choices:
>   * keep this logic in your series in a separate patch, and have me
> rebase my series on yours.
>   * drop this logic from your series since it may not be needed
> anymore, making our two series independent again.
>   * move this logic into a separate patch of yours but making that
> patch part of my series instead; that'd be easy with the enum logic,
> but the repo-settings.c stuff appears to depend on your other
> patches...
> 
> Thoughts or preferences?

I've done the work in my GGG PR [1] to split the commit into two, with the merge.directoryRenames on top. I created a tag [2] at that commit and I'll send my v4 without changes to merge.directoryRenames.

I'll let you decide if you like placing the config in repo-settings or not (or want to adapt the enum logic in a different place).

Thanks, -Stolee

[1] https://github.com/gitgitgadget/git/pull/292 [2] https://github.com/derrickstolee/git/releases/tag/merge.directoryRenames

Previous: Elijah NewrenNext: Elijah Newren
Message 39 of 61 in “Create 'feature.*' config area and some centralized config parsing”
  1. 0/5 Create 'feature.*' config area and some centralized config parsingDerrick Stolee via GitGitGadget, Jul 22, 2019
  2. 3/5 repo-settings: parse core.untrackedCacheDerrick Stolee via GitGitGadget, Jul 22, 2019
  3. Johannes SchindelinJul 23, 2019
  4. Derrick StoleeJul 24, 2019
  5. 2/5 repo-settings: add feature.manyCommits settingDerrick Stolee via GitGitGadget, Jul 22, 2019
  6. Johannes SchindelinJul 23, 2019
  7. Derrick StoleeJul 24, 2019
  8. 4/5 repo-settings: create feature.manyFiles settingDerrick Stolee via GitGitGadget, Jul 22, 2019
  9. 1/5 repo-settings: consolidate some config settingsDerrick Stolee via GitGitGadget, Jul 22, 2019
  10. Johannes SchindelinJul 23, 2019
  11. 5/5 repo-settings: create feature.experimental settingDerrick Stolee via GitGitGadget, Jul 22, 2019
  12. Johannes SchindelinJul 23, 2019
  13. Derrick StoleeJul 25, 2019
  14. 0/5 Create 'feature.*' config area and some centralized config parsingDerrick Stolee via GitGitGadget, Jul 25, 2019
  15. 1/5 repo-settings: consolidate some config settingsDerrick Stolee via GitGitGadget, Jul 25, 2019
  16. Johannes SchindelinJul 25, 2019
  17. 2/5 repo-settings: add feature.manyCommits settingDerrick Stolee via GitGitGadget, Jul 25, 2019
  18. 3/5 repo-settings: parse core.untrackedCacheDerrick Stolee via GitGitGadget, Jul 25, 2019
  19. Johannes SchindelinJul 25, 2019
  20. 4/5 repo-settings: create feature.manyFiles settingDerrick Stolee via GitGitGadget, Jul 25, 2019
  21. 5/5 repo-settings: create feature.experimental settingDerrick Stolee via GitGitGadget, Jul 25, 2019
  22. Johannes SchindelinJul 25, 2019
  23. 0/5 Create 'feature.*' config area and some centralized config parsingDerrick Stolee via GitGitGadget, Jul 30, 2019
  24. 2/5 repo-settings: add feature.manyCommits settingDerrick Stolee via GitGitGadget, Jul 30, 2019
  25. Junio C HamanoJul 30, 2019
  26. Johannes SchindelinJul 31, 2019
  27. Junio C HamanoJul 31, 2019
  28. Ævar Arnfjörð BjarmasonJul 31, 2019
  29. Derrick StoleeAug 1, 2019
  30. 1/5 repo-settings: consolidate some config settingsDerrick Stolee via GitGitGadget, Jul 30, 2019
  31. Junio C HamanoJul 30, 2019
  32. 4/5 repo-settings: create feature.manyFiles settingDerrick Stolee via GitGitGadget, Jul 30, 2019
  33. 5/5 repo-settings: create feature.experimental settingDerrick Stolee via GitGitGadget, Jul 30, 2019
  34. Elijah NewrenAug 8, 2019
  35. Derrick StoleeAug 8, 2019
  36. Junio C HamanoAug 8, 2019
  37. Derrick StoleeAug 8, 2019
  38. Elijah NewrenAug 8, 2019
  39. Derrick StoleeAug 8, 2019
  40. Elijah NewrenAug 8, 2019
  41. Junio C HamanoAug 8, 2019
  42. Derrick StoleeAug 8, 2019
  43. 3/5 repo-settings: parse core.untrackedCacheDerrick Stolee via GitGitGadget, Jul 30, 2019
  44. 0/6 Create 'feature.*' config area and some centralized config parsingDerrick Stolee via GitGitGadget, Aug 13, 2019
  45. 2/6 t6501: use 'git gc' in quiet modeDerrick Stolee via GitGitGadget, Aug 13, 2019
  46. 1/6 repo-settings: consolidate some config settingsDerrick Stolee via GitGitGadget, Aug 13, 2019
  47. 4/6 repo-settings: parse core.untrackedCacheDerrick Stolee via GitGitGadget, Aug 13, 2019
  48. 5/6 repo-settings: create feature.manyFiles settingDerrick Stolee via GitGitGadget, Aug 13, 2019
  49. 3/6 commit-graph: turn on commit-graph by defaultDerrick Stolee via GitGitGadget, Aug 13, 2019
  50. Junio C HamanoSep 20, 2021
  51. brian m. carlsonSep 20, 2021
  52. Phillip WoodSep 20, 2021
  53. Ævar Arnfjörð BjarmasonSep 20, 2021
  54. Jeff KingSep 20, 2021
  55. Phillip WoodSep 20, 2021
  56. Ævar Arnfjörð BjarmasonSep 20, 2021
  57. 6/6 repo-settings: create feature.experimental settingDerrick Stolee via GitGitGadget, Aug 13, 2019
  58. Junio C HamanoAug 13, 2019
  59. Junio C HamanoAug 13, 2019
  60. Derrick StoleeAug 14, 2019
  61. Derrick StoleeAug 14, 2019

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.