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

Re: [GSoC][PATCH v3 2/3] rebase -i: rewrite setup_reflog_action() in C

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Jun 25, 2018, 21:14 UTC
Message-ID
<nycvar.QRO.7.76.6.1806252313140.11870@tvgsbejvaqbjf.bet>
In-Reply-To
<4dfaa8d4-09d0-1156-43a4-687c3389e039@gmail.com>
Hi,
On Mon, 25 Jun 2018, Alban Gruin wrote:
Show 38 quoted lines
> Le 25/06/2018 à 17:34, Junio C Hamano a écrit :
> > Alban Gruin <alban.gruin@gmail.com> writes:
> > 
> >> Le 22/06/2018 à 18:27, Junio C Hamano a écrit :
> >>> Alban Gruin <alban.gruin@gmail.com> writes:
> >>>> This rewrites (the misnamed) setup_reflog_action() from shell to C. The
> >>>> new version is called checkout_base_commit().
> >>>
> >>> ;-) on the "misnamed" part.  Indeed, setting up the comment for the
> >>> reflog entry is secondary to what this function wants to do, which
> >>> is to check out the branch to be rebased.
> >>>
> >>> I do not think "base_commit" is a good name, either, though.  When I
> >>> hear 'base' in the context of 'rebase', I would imagine that the
> >>> speaker is talking about the bottom of the range of the commits to
> >>> be rebased (i.e. "rebase --onto ONTO BASE BRANCH", which replays
> >>> commits BASE..BRANCH on top of ONTO and then points BRANCH at the
> >>> result), not the top of the range or the branch these commits are
> >>> taken from.
> >>>
> >>
> >> Perhaps should I name this function checkout_onto(), and rename 
> >> checkout_onto() to "detach_onto()"?  And I would reorder those two commits in 
> >> the series, as this would be very confusing.
> > 
> > I may be misunderstanding what is happening in the function, but I
> > think it is checking out neither the onto or the base commit.  The
> > function instead is about checking out the branch to be rebased
> > before anything else happens when the optional <branch> argument is
> > given (and when the optional argument is not given, then we rebase
> > the current branch so there is no need to check it out upfront), no?
> > 
> > 
> 
> Yes, you’re right.
> 
> Now I really don’t know how to call this function.
> checkout_top_of_range(), perhaps?

Pratik refactored some code from sequencer.c into checkout.c/checkout.h today to do exactly that. It is not polished yet, but probably will be tomorrow. It provides a function `int detach_head_to(struct object_oid *oid, const char *action, const char *reflog_message)`. Maybe use that directly, once the commit is available?

Ciao, Dscho

Previous: Alban GruinNext: Pratik Karki
Message 34 of 51 in “rebase -i: rewrite reflog operations in C”
  1. Alban GruinJun 18, 2018
  2. [GSoC][PATCH 1/3] sequencer: add a new function to silence a command, except if it fails.Alban Gruin, Jun 18, 2018
  3. Phillip WoodJun 18, 2018
  4. Alban GruinJun 18, 2018
  5. Christian CouderJun 18, 2018
  6. Alban GruinJun 18, 2018
  7. [GSoC][PATCH 2/3] rebase -i: rewrite setup_reflog_action() in CAlban Gruin, Jun 18, 2018
  8. Phillip WoodJun 18, 2018
  9. Alban GruinJun 18, 2018
  10. Stefan BellerJun 18, 2018
  11. Johannes SchindelinJun 19, 2018
  12. [GSoC][PATCH 3/3] rebase -i: rewrite checkout_onto() in CAlban Gruin, Jun 18, 2018
  13. Phillip WoodJun 18, 2018
  14. Alban GruinJun 18, 2018
  15. [GSoC][PATCH v2 0/3] rebase -i: rewrite reflog operations in CAlban Gruin, Jun 19, 2018
  16. [GSoC][PATCH v2 1/3] sequencer: add a new function to silence a command, except if it fails.Alban Gruin, Jun 19, 2018
  17. Johannes SchindelinJun 21, 2018
  18. Alban GruinJun 21, 2018
  19. [GSoC][PATCH v2 2/3] rebase -i: rewrite setup_reflog_action() in CAlban Gruin, Jun 19, 2018
  20. Johannes SchindelinJun 21, 2018
  21. [GSoC][PATCH v2 3/3] rebase -i: rewrite checkout_onto() in CAlban Gruin, Jun 19, 2018
  22. Johannes SchindelinJun 21, 2018
  23. Stefan BellerJun 19, 2018
  24. Johannes SchindelinJun 21, 2018
  25. [GSoC][PATCH v3 0/3] rebase -i: rewrite reflog operations in CAlban Gruin, Jun 21, 2018
  26. [GSoC][PATCH v3 1/3] sequencer: add a new function to silence a command, except if it fails.Alban Gruin, Jun 21, 2018
  27. Junio C HamanoJun 21, 2018
  28. Alban GruinJun 22, 2018
  29. [GSoC][PATCH v3 2/3] rebase -i: rewrite setup_reflog_action() in CAlban Gruin, Jun 21, 2018
  30. Junio C HamanoJun 22, 2018
  31. Alban GruinJun 22, 2018
  32. Junio C HamanoJun 25, 2018
  33. Alban GruinJun 25, 2018
  34. Johannes SchindelinJun 25, 2018
  35. Pratik KarkiJun 26, 2018
  36. Junio C HamanoJun 26, 2018
  37. [GSoC][PATCH v3 3/3] rebase -i: rewrite checkout_onto() in CAlban Gruin, Jun 21, 2018
  38. [GSoC][PATCH v4 0/3] rebase -i: rewrite reflog operations in CAlban Gruin, Jun 25, 2018
  39. [GSoC][PATCH v4 1/3] sequencer: extract a function to silence a command, except if it failsAlban Gruin, Jun 25, 2018
  40. [GSoC][PATCH v4 2/3] rebase -i: rewrite checkout_onto() in CAlban Gruin, Jun 25, 2018
  41. Junio C HamanoJun 26, 2018
  42. [GSoC][PATCH v4 3/3] rebase -i: rewrite setup_reflog_action() in CAlban Gruin, Jun 25, 2018
  43. [GSoC][PATCH v5 0/3] rebase -i: rewrite reflog operations in CAlban Gruin, Jun 29, 2018
  44. [GSoC][PATCH v5 1/3] sequencer: add a new function to silence a command, except if it fails.Alban Gruin, Jun 29, 2018
  45. [GSoC][PATCH v5 2/3] rebase -i: rewrite setup_reflog_action() in CAlban Gruin, Jun 29, 2018
  46. Junio C HamanoJun 29, 2018
  47. [GSoC][PATCH v5 3/3] rebase -i: rewrite checkout_onto() in CAlban Gruin, Jun 29, 2018
  48. Junio C HamanoJun 29, 2018
  49. Junio C HamanoJun 29, 2018
  50. Alban GruinJul 2, 2018
  51. Junio C HamanoJul 3, 2018

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.