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

Re: [PATCH v3 10/9] revision.c: treat A...B merge bases as if manually specified

From
Junio C Hamano <gitster@pobox.com>
Date
May 6, 2013, 21:24 UTC
Message-ID
<7vli7rpzt0.fsf@alter.siamese.dyndns.org>
In-Reply-To
<1367859096-25909-1-git-send-email-kevin@bracey.fi>
Kevin Bracey <kevin@bracey.fi> writes:
> The documentation assures users that "A...B" is defined as 'r1 r2 --not
> $(git merge-base --all r1 r2)'. This isn't in fact quite true, because
> the calculated merge bases are not sent to add_rev_cmdline().

We want the commands to be able to tell which ones in revs->pending and revs->commits were specified by the end user and how. While I think it makes sense to mark these negative merge bases with "These came from the command line with A...B syntax", I am not sure if it is the best way to do so in add_pending_commit_list().

By the way, why does this have anything to do with the history traversal series in the first place?

When there is anythning marked UNINTERESTING on the rev->pending before calling prepare_revision_walk(), you have a history with some bottom boundaries, and when there isn't, your bottom boundaries are root commits. If you want to behave differently depending on how the user gave us the revision range from the command line, e.g. acting differently between "A ^B" and "B..A", cmdline is a good place to learn the exact form, but at the history traversal level, I do not think you should even care. Why does the code even look at the cmdline, and not rev->pending?

Previous: Kevin BraceyNext: Kevin Bracey
Message 19 of 20 in “History traversal refinements”
  1. 0/9 History traversal refinementsKevin Bracey, May 5, 2013
  2. 1/9 decorate.c: compact table when growingKevin Bracey, May 5, 2013
  3. 2/9 t6019: test file dropped in -s ours mergeKevin Bracey, May 5, 2013
  4. 3/9 t6111: new TREESAME test setKevin Bracey, May 5, 2013
  5. Junio C HamanoMay 6, 2013
  6. Junio C HamanoMay 6, 2013
  7. Kevin BraceyMay 7, 2013
  8. Junio C HamanoMay 7, 2013
  9. 4/9 rev-list-options.txt: correct TREESAME for PKevin Bracey, May 5, 2013
  10. 5/9 revision.c: Make --full-history consider more mergesKevin Bracey, May 5, 2013
  11. Junio C HamanoMay 6, 2013
  12. Kevin BraceyMay 7, 2013
  13. Junio C HamanoMay 7, 2013
  14. 6/9 t6012: update test for tweaked full-history traversalKevin Bracey, May 5, 2013
  15. 7/9 simplify-merges: never remove all TREESAME parentsKevin Bracey, May 5, 2013
  16. 8/9 simplify-merges: drop merge from irrelevant side branchKevin Bracey, May 5, 2013
  17. 9/9 revision.c: discount side branches when computing TREESAMEKevin Bracey, May 5, 2013
  18. 10/9 revision.c: treat A...B merge bases as if manually specifiedKevin Bracey, May 6, 2013
  19. Junio C HamanoMay 6, 2013
  20. Kevin BraceyMay 7, 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.