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

Re: [PATCH] revision: --include-diversions adds helpful merges

From
Junio C Hamano <gitster@pobox.com>
Date
Apr 8, 2020, 19:46 UTC
Message-ID
<xmqqzhbloj4u.fsf@gitster.c.googlers.com>
In-Reply-To
<74562b04-b1ce-cad4-da18-4af030a3dc29@gmail.com>
Derrick Stolee <stolee@gmail.com> writes:
Show 22 quoted lines
> On 4/7/2020 9:39 PM, Derrick Stolee wrote:
>> On 4/7/2020 9:30 PM, Junio C Hamano wrote:
>>> "Derrick Stolee via GitGitGadget" <gitgitgadget@gmail.com> writes:
>>>
>>>>     This --include-diversions option could use a better name.
>>>
>>> True, but I do not think of a better (or for that matter a worse)
>>> one.  
>
> Here are some alternative names:
>
> 	--audit-merges
> 	--audit-trunk
> 	--first-merges
> 	--subtle-merges
> 	--more-merges
>
> The "audit" name implies some of the intent: we are trying to
> audit which merge commits introduced these changes. The --audit-trunk
> implies we are using a trunk-based workflow where parent order is
> critical. However, "trunk" may be confusing when there are multiple
> long-lived branches.

Our features written with the intent to be useful for one purpose often end up being used for purposes other than what the feature was originally written for (the "--pickaxe" has always been a bitter example of this for me).

For that reason, I am a bit hesitant to endorse "audit" exactly because of the implication of "intent".

We usually try to give a single simplest history that explains how the current content in the path came to be. For that, commit M in the illustration in your original message does not really help when we ignore which parent chain owns the history, but in practice, many workflows treat the first parent chain as something special, so we want to show, not just the individual changes that matter, where the changes are introduced in the first-parent chain.

I wonder if there is a simple-enough phrase to convey what the latter half of above sentence says. "include" and "keep" are both good verbs---normally we discard these merges, because they do not contribute at the level of individual changes, but with the option, we "include" or "keep" these merges in the output. It's not like we keep _all_ the merges, but selected merges only. How do we decide which merges to keep?

I guess your "--first-merges" came from such a line of thought, and is the closest among the five to what I have in mind, but it drops too many words and loses too much meaning.

"--keep-first-parent-merges", perhaps?
Previous: Derrick StoleeNext: Jeff King
Message 5 of 23 in “revision: --include-diversions adds helpful merges”
  1. revision: --include-diversions adds helpful mergesDerrick Stolee via GitGitGadget, Apr 8, 2020
  2. Junio C HamanoApr 8, 2020
  3. Derrick StoleeApr 8, 2020
  4. Derrick StoleeApr 8, 2020
  5. Junio C HamanoApr 8, 2020
  6. Jeff KingApr 8, 2020
  7. Derrick StoleeApr 8, 2020
  8. Junio C HamanoApr 8, 2020
  9. Derrick StoleeApr 8, 2020
  10. Junio C HamanoApr 9, 2020
  11. Derrick StoleeApr 9, 2020
  12. Philip OakleyApr 9, 2020
  13. Junio C HamanoApr 9, 2020
  14. Derrick StoleeApr 9, 2020
  15. Jeff KingApr 9, 2020
  16. Junio C HamanoApr 9, 2020
  17. Jeff KingApr 9, 2020
  18. brian m. carlsonApr 8, 2020
  19. Jeff KingApr 8, 2020
  20. revision: --include-diversions adds helpful mergesDerrick Stolee via GitGitGadget, Apr 9, 2020
  21. revision: --show-pulls adds helpful mergesDerrick Stolee via GitGitGadget, Apr 10, 2020
  22. Junio C HamanoApr 10, 2020
  23. Derrick StoleeApr 10, 2020

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.