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

Re: [PATCH 1/3] rebase.c: state preserve-merges has been removed

From
Philip Oakley <philipoakley@iee.email>
Date
May 27, 2022, 12:35 UTC
Message-ID
<4ff0622a-9b64-4200-e996-2d1875a52ec8@iee.email>
In-Reply-To
<32e5088b-35a1-4e8c-098e-18c465a0a0bb@web.de>
Hi René
On 26/05/2022 22:27, René Scharfe wrote:
Show 25 quoted lines
> Am 26.05.22 um 22:33 schrieb Junio C Hamano:
>> René Scharfe <l.s.r@web.de> writes:
>>
>>>>>   		OPT_SET_INT_F('p', "preserve-merges", &preserve_merges_selected,
>>>>> -			      N_("(DEPRECATED) try to recreate merges instead of "
>>>>> +			      N_("(REMOVED) try to recreate merges instead of "
>>>>>   				 "ignoring them"),
>>>>>   			      1, PARSE_OPT_HIDDEN),
>>>>>   		OPT_RERERE_AUTOUPDATE(&options.allow_rerere_autoupdate),
>>> Anyway, the new help text explaining what the option once did is a bit
>>> confusing.  It would be better to focus on what it's doing now (nothing)
>>> and/or why we still have it (for backward compatibility), I think.
>> Do you mean that we should say "this option used to do such and such
>> but it is now a no-op" after "(REMOVED)" label, instead of the above
>> "this option does such and such"?  I think "(REMOVED)" is a strong
>> enough hint that lets us get away without saying "used to" and "but
>> it is now a no-op", so I can accept both.
>>
>> Or do you mean we should say "(REMOVED) for backward compatibility,
>> does nothing but errors out"?  I would be less in faviour, then.
>> Those who are curious enough to ask --help-all would find it more
>> helpful if we said what it used to do.  Otherwise they wouldn't be
>> asking --help-all in the first place, no?
> When I see an option labeled "REMOVED" then I get confused because a
> thing that says it no longer exists is obviously lying

That's a misunderstanding between the response to the command line option, and the described operation of the former sub-command/option.

> -- a removed
> option would simply not be listed.  Here the feature is gone and its
> option remains, but only reports an educational message now.

The needed user response is more that educational. In this case (for the Series) they are in a Catch-22 situation, stuck in a no-man's land between a preserve merges that has been started, and a Git that won't proceed. Currently (prior to the series) Git will even refuse to abort..

>
> Perhaps a better option help text would be something like "no longer
> supported, consider using --rebase-merges instead"?

We'll still need to say _what_ is no longer supported, to ensure the user has context. I'd agree with the suggestion aspect (Junio had commented similarly).

I suspect this problem could be a long, slow burner. We so rarely remove capabilities like this, so it's tricky second guessing how users will react, or when they discover the problem.

P.
Previous: Junio C HamanoNext: Philip Oakley
Message 9 of 35 in “Die preserve ggg”
  1. 0/3 Die preserve gggPhilip Oakley via GitGitGadget, May 26, 2022
  2. 1/3 rebase.c: state preserve-merges has been removedPhilip Oakley via GitGitGadget, May 26, 2022
  3. Ævar Arnfjörð BjarmasonMay 26, 2022
  4. Philip OakleyMay 26, 2022
  5. René ScharfeMay 26, 2022
  6. Junio C HamanoMay 26, 2022
  7. René ScharfeMay 26, 2022
  8. Junio C HamanoMay 26, 2022
  9. Philip OakleyMay 27, 2022
  10. Philip OakleyMay 27, 2022
  11. Junio C HamanoMay 27, 2022
  12. Philip OakleyMay 27, 2022
  13. Ævar Arnfjörð BjarmasonMay 27, 2022
  14. 2/3 rebase: help users when dying with `preserve-merges`Philip Oakley via GitGitGadget, May 26, 2022
  15. Ævar Arnfjörð BjarmasonMay 26, 2022
  16. Philip OakleyMay 26, 2022
  17. Junio C HamanoMay 26, 2022
  18. Philip OakleyMay 27, 2022
  19. Junio C HamanoMay 27, 2022
  20. 3/3 rebase: note `preserve` merges may be a pull config optionPhilip Oakley via GitGitGadget, May 26, 2022
  21. Ævar Arnfjörð BjarmasonMay 26, 2022
  22. Philip OakleyMay 26, 2022
  23. Junio C HamanoMay 26, 2022
  24. Philip OakleyMay 27, 2022
  25. Ævar Arnfjörð BjarmasonMay 26, 2022
  26. Philip OakleyMay 26, 2022
  27. 0/4 Die preserve gggPhilip Oakley via GitGitGadget, Jun 4, 2022
  28. 3/4 rebase: note `preserve` merges may be a pull config optionPhilip Oakley via GitGitGadget, Jun 4, 2022
  29. Junio C HamanoJun 6, 2022
  30. Philip OakleyJun 11, 2022
  31. Philip OakleyJun 11, 2022
  32. Junio C HamanoJun 11, 2022
  33. 2/4 rebase: help users when dying with `preserve-merges`Philip Oakley via GitGitGadget, Jun 4, 2022
  34. 1/4 rebase.c: state preserve-merges has been removedPhilip Oakley via GitGitGadget, Jun 4, 2022
  35. 4/4 rebase: translate a die(preserve-merges) messagePhilip Oakley via GitGitGadget, Jun 4, 2022

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.