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

Re: diff-index --cc no longer permitted, gitk is now broken (slightly)

From
Sergey Organov <sorganov@gmail.com>
Date
Sep 16, 2021, 22:41 UTC
Message-ID
<874kaki1nb.fsf@osv.gnss.ru>
In-Reply-To
<xmqqy27wrzmj.fsf@gitster.g>
Junio C Hamano <gitster@pobox.com> writes:
Show 9 quoted lines
> Sergey Organov <sorganov@gmail.com> writes:
>
>> I'm afraid this issue is left up in the air after application of the
>> fix-up patch, as usage of --cc in the diff-index is still undocumented.
>
> Yeah, I do think documentation update is needed, but being buried by
> other topics I haven't had a chance to revisit the way how --cc is
> described in the wider context in order to make an intellgent
> suggestion on how to present it in the context of "diff-index".

I tend to believe yet another description of --cc is needed for diff-index, separate from the current one. Just saying.

Show 8 quoted lines
>
>> I.e., the fix-up just restores the historical status quo that has a
>> problem by itself.
>
> I do agree "show -p" on merge is an oddball that trips new people,
> because it does not imply the "do present the changes for merges"
> bit unlike "show -c/--cc" do, and from that point of view, the
> generalization --diff-merges tried to bring us was a good thing.
I'm not sure I follow. What "show -p" has to do with "diff-index --cc"?

My only point here is that usage of *--cc* in *diff-index* is entirely undocumneted, and that needs to be somehow resolved.

Show 5 quoted lines
>
> But "-c/--cc" are explicit enough in what they want to do.  It does
> want to present the changes to compare a single end state with
> possibly more than one starting state (e.g. a merge) and not
> requiring an explicit "-m" is quite natural.

Doesn't seem to be relevant for "diff-index --cc" lacking documentation, but -m and -c and --cc are rather *mutually exclusive*. I.e., they all set different formats for output of diffs for merges, so "--cc -m" == "-m", and "-m --cc" == "--cc", i.e., the latest overrides the format to be used. Therefore "requiring explicit -m for -cc" simply doesn't make sense.

Show 5 quoted lines
> Even more, when it compares the end state with only one starting state
> (e.g. showing a single parent commit), there is only one pairwise
> result to "combine", so it is also natural that it ends up showing the
> same output as "-p". So I do not quite see the behaviour of
> "diff*/show --cc" as a problem, though.
I don't see it as a problem as well, so whom you are arguing with?

The only problem in this particular case I see is that "diff-index --cc" is undocumented (and untested), and this has nothing to do with log/diff/show, unless I miss your point.

> IOW, the use pattern in gitk is more than just "historical status
> quo", but is quite sensible, I would have to say.

"diff-index --cc" in gitk is a bug, as according to Git documentation "diff-index" does not accept "--cc", period.

gitk trying to make sense of what is neither documented, nor tested, nor guaranteed is the problem, but I was talking even not about that problem, but rather about the cause of this: some undocumented processing of "git diff-index --cc".

Thanks, -- Sergey Organov

Previous: Junio C HamanoNext: Junio C Hamano
Message 21 of 29 in “diff-index --cc no longer permitted, gitk is now broken (slightly)”
  1. Johannes SixtAug 30, 2021
  2. Sergey OrganovAug 30, 2021
  3. Jeff KingAug 30, 2021
  4. Sergey OrganovAug 30, 2021
  5. Johannes SixtAug 30, 2021
  6. Sergey OrganovAug 30, 2021
  7. Junio C HamanoAug 30, 2021
  8. Sergey OrganovAug 30, 2021
  9. Junio C HamanoAug 30, 2021
  10. Sergey OrganovAug 30, 2021
  11. Sergey OrganovSep 1, 2021
  12. Junio C HamanoSep 7, 2021
  13. Sergey OrganovSep 7, 2021
  14. Sergey OrganovSep 8, 2021
  15. Johannes SixtSep 8, 2021
  16. Sergey OrganovSep 8, 2021
  17. Junio C HamanoSep 9, 2021
  18. Sergey OrganovSep 9, 2021
  19. Sergey OrganovSep 16, 2021
  20. Junio C HamanoSep 16, 2021
  21. Sergey OrganovSep 16, 2021
  22. Junio C HamanoSep 16, 2021
  23. Sergey OrganovSep 17, 2021
  24. Junio C HamanoSep 17, 2021
  25. Sergey OrganovSep 17, 2021
  26. Philip OakleySep 17, 2021
  27. Sergey OrganovSep 17, 2021
  28. Sergey OrganovSep 18, 2021
  29. Johannes SixtSep 7, 2021

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.