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

Re: [RFC v2] blame: new option --prefer-first to better handle merged cherry-picks

From
BLBernhard R. Link <brl+git@mail.brlink.eu>
Date
Jan 13, 2014, 22:52 UTC
Message-ID
<20140113225229.GA3418@client.brlink.eu>
In-Reply-To
<xmqqfvor5xil.fsf@gitster.dls.corp.google.com>
* Junio C Hamano <gitster@pobox.com> [140113 23:31]:
Show 10 quoted lines
> I read the updated documentation three times but it still does not
> answer any of my questions I had in $gmane/239888, the most
> important part of which was:
>
>     Yeah, the cherry-picked one will introduce the same change as
>     the one that was cherry-picked, so if you look at the end result
>     and ask "where did _this_ line come from?", there are two
>     equally plausible candidates, as "blame" output can give only
>     one answer to each line.  I still do not see why the one that is
>     picked with the new option is better.
Because:
  - it will blame the modifications of merged cherry-picked commit
    to only one commit. Without the option parts of the modification
    will be reported as coming from the one, parts will be reported
    to be from the other. With the option only one of those two commits
    is reported as the origin at the same time and not both.
  - it is more predictable which commit is blamed, so if one is
    interested in where some commit was introduced first into a
    "mainline", one gets this information, and not somtimes a different
    one due to unrelated reasons.
> To put it another way, why/when would an end user choose to use this
> option?  If the result of using this option is always better than
> without, why/when would an end user choose not to use this option?

While the result is more consistent and more predictable in the case of merged cherry picks, it is also slower in every case. Usually speed will be more important than this exactness, especially as the result will not differ for the common case (if there are no cherry-picked commits merged or when those commits do not touch any files that are otherwise only modified in the merged branch).

	Bernhard R. Link
-- 
F8AC 04D5 0B9B 064B 3383  C3DA AFFC 96D1 151D FFDC
Previous: Junio C HamanoNext: Junio C Hamano
Message 3 of 7 in “[RFC v2] blame: new option --prefer-first to better handle merged cherry-picks”
  1. Bernhard R. LinkJan 13, 2014
  2. Junio C HamanoJan 13, 2014
  3. Bernhard R. LinkJan 13, 2014
  4. Junio C HamanoJan 13, 2014
  5. Junio C HamanoJan 14, 2014
  6. Junio C HamanoJan 14, 2014
  7. Junio C HamanoJan 14, 2014

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.