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

Re: [BUG] Highly inconsistent diff UI

From
Junio C Hamano <gitster@pobox.com>
Date
Apr 24, 2013, 21:23 UTC
Message-ID
<7vvc7baahc.fsf@alter.siamese.dyndns.org>
In-Reply-To
<CALkWK0m5Q_e3q6Yg94-K+jU_SS7ovR2wnz-_Nr3cMz_YM=SMDQ@mail.gmail.com>
Ramkumar Ramachandra <artagnon@gmail.com> writes:
Show 5 quoted lines
> Sorry I wasn't clear.  A~B = $(git merge-base A B) B to diff and $(git
> merge-base A B)..B to log.
>
> Basically, I want to be able to do git log master~rebase.autostash
> (without having to rebase).
How is it different from "git log master..rebase.autostash"?
    git log A..B
is already a perfectly fine way to spell your "A~B", which is
    git log B --not $(git merge-base --all A B)
when written in longhand [*1*], no?
So I do not think your A~B helps "log".

It does not help "diff" either, because we already have A...B and we are not going to remove it (people are used to what it means).

So I think your A~B is still a solution that is looking for a problem.

[Footnote]
*1* You need to understand what merge-base is in order to analyse
    the equivalence of these two.  A..B asks for those that are
    reachable from B that are not reachable from A.  What does the
    other form ask, by saying "ones that can be reached from B but
    exclude the ones that are reachable from any merge base of A and
    B"?
    On the history leading to A, there are two kinds of commits:
    those that are not reachable from B and those that are.  The
    ones closer to A may not be reachable from B but if you dig the
    history starting from A and keep finding ancestors, you will
    eventually hit one that can be reached from B.  Once you hit
    such a commit, everything beyond that point are reachable from
    both A and B.  E.g.
        ---o---*---a---a---a---A
                \
                 b---b---B
    And we call that a merge base between A and B (e.g. '*').  Any
    ancestor of a merge base, e.g. 'o', is reachable from A and is
    excluded from "A..B".
Previous: Phil HordNext: Ramkumar Ramachandra
Message 29 of 45 in “[BUG] Highly inconsistent diff UI”
  1. Ramkumar RamachandraApr 24, 2013
  2. Jonathan NiederApr 24, 2013
  3. Junio C HamanoApr 24, 2013
  4. Ramkumar RamachandraApr 24, 2013
  5. Jonathan NiederApr 24, 2013
  6. Junio C HamanoApr 24, 2013
  7. Ramkumar RamachandraApr 24, 2013
  8. Junio C HamanoApr 24, 2013
  9. Ramkumar RamachandraApr 24, 2013
  10. Junio C HamanoApr 24, 2013
  11. Ramkumar RamachandraApr 24, 2013
  12. Ramkumar RamachandraApr 24, 2013
  13. Junio C HamanoApr 24, 2013
  14. Ramkumar RamachandraApr 24, 2013
  15. Junio C HamanoApr 24, 2013
  16. Ramkumar RamachandraApr 24, 2013
  17. Thomas RastApr 24, 2013
  18. Ramkumar RamachandraApr 24, 2013
  19. Jonathan NiederApr 24, 2013
  20. Ramkumar RamachandraApr 24, 2013
  21. Thomas RastApr 25, 2013
  22. Ramkumar RamachandraApr 25, 2013
  23. Junio C HamanoApr 25, 2013
  24. Ramkumar RamachandraApr 25, 2013
  25. Jonathan NiederApr 25, 2013
  26. Junio C HamanoApr 25, 2013
  27. Duy NguyenApr 26, 2013
  28. Phil HordApr 24, 2013
  29. Junio C HamanoApr 24, 2013
  30. Ramkumar RamachandraApr 24, 2013
  31. Ramkumar RamachandraApr 24, 2013
  32. Junio C HamanoApr 25, 2013
  33. Ramkumar RamachandraApr 25, 2013
  34. Ramkumar RamachandraApr 25, 2013
  35. Ramkumar RamachandraApr 26, 2013
  36. Ramkumar RamachandraApr 26, 2013
  37. Junio C HamanoApr 29, 2013
  38. Ramkumar RamachandraApr 29, 2013
  39. Junio C HamanoApr 29, 2013
  40. Ramkumar RamachandraApr 29, 2013
  41. Ramkumar RamachandraApr 29, 2013
  42. Junio C HamanoApr 29, 2013
  43. Ramkumar RamachandraApr 29, 2013
  44. John KeepingApr 29, 2013
  45. Ramkumar RamachandraApr 25, 2013

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.