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

Re: [GSoC 2011] Git Sequencer

From
Ramkumar Ramachandra <artagnon@gmail.com>
Date
Apr 5, 2011, 18:59 UTC
Message-ID
<20110405185929.GA25644@kytes>
In-Reply-To
<alpine.LNX.2.00.1104051354500.14365@iabervon.org>
Hi Daniel,
Daniel Barkalow writes:
Show 10 quoted lines
> On Tue, 5 Apr 2011, Ramkumar Ramachandra wrote:
> > Excellent.  The crux of the idea: The sequencer should serve as the
> > entry/ exit point for Git when any operation requires user
> > intervention to proceed.
> 
> I'm a bit surprised by the idea of calling that "the sequencer" (rather 
> than having "the sequencer" be a command), but I actually think you're 
> entirely right to do so. Be sure to be very explicit about that, though, 
> because people will probably start with the wrong idea of what you're 
> proposing otherwise.

Ah. I'll make sure to word it unambiguously in the proposal, and link to this thread :)

Show 22 quoted lines
> > For this, it should have information about
> > how we got to this point, and how to proceed after the user
> > intervention is complete; this information is contained in:
> > 
> > > cherry_pick_conflict = { 
> > >   "cherry-pick", APPLIES_TO_CURRENT_BRANCH | IN_MIDDLE_OF_COMMIT,
> > >   cherry_pick_verify_resolution,
> > >   cherry_pick_abort,
> > >   cherry_pick_post_resolution
> > > };
> > 
> > Wait -- isn't it missing a skip callback?
> 
> I think "skip" is actually: abort the lowest-level conflict and continue 
> the next-level conflict. If you're doing a rebase, and the rebase is doing 
> a "pick", and the pick got a conflict, --skip means that you abort the 
> pick (to get back to the state where the earlier commits have been picked 
> but this one hasn't been started, followed by having the rebase continue 
> with what it was going to do after the pick completed.
> 
> So I don't think you need a "skip" callback, as long as you've untangled 
> the levels cleanly and get the nesting support right.

Okay. I'm not yet entirely clear about this yet, but I think it should be sorted out during implementation.

Show 23 quoted lines
> > cherry_pick_conflict = { 
> >   "cherry-pick", APPLIES_TO_CURRENT_BRANCH | IN_MIDDLE_OF_COMMIT,
> >   cherry_pick_verify_resolution,
> >   cherr_pick_skip,
> >   cherry_pick_abort,
> >   cherry_pick_post_resolution
> > };
> > 
> > This information is passed to report_conflict(), which takes care of
> > user intervention.  The user can do whatever she wants and then ask
> > the sequencer to "continue", "skip" or "abort":
> 
> Right, although I think:
> 
>   $ git cheery-pick some-sha1
>   Conflict needs to be fixed now!
> 
>   $ git skip
> 
> should give an error message about the current conflict not being a step 
> of a larger process. That is, you can always "continue" or "abort", but 
> you can only "skip" if there's something to skip to, even if it's only the 
> higher-order sequence reporting that it's completed successfully.
Right, got it.
-- Ram
Previous: Daniel BarkalowNext: Christian Couder
Message 12 of 20 in “[GSoC 2011] Git Sequencer”
  1. Ramkumar RamachandraApr 3, 2011
  2. Sverre RabbelierApr 3, 2011
  3. Stephan BeyerApr 3, 2011
  4. Ramkumar RamachandraApr 3, 2011
  5. Jonathan NiederApr 3, 2011
  6. Daniel BarkalowApr 3, 2011
  7. Ramkumar RamachandraApr 4, 2011
  8. Ramkumar RamachandraApr 4, 2011
  9. Daniel BarkalowApr 4, 2011
  10. Ramkumar RamachandraApr 5, 2011
  11. Daniel BarkalowApr 5, 2011
  12. Ramkumar RamachandraApr 5, 2011
  13. Christian CouderApr 4, 2011
  14. Junio C HamanoApr 4, 2011
  15. Christian CouderApr 5, 2011
  16. Ramkumar RamachandraApr 5, 2011
  17. Ramkumar RamachandraApr 4, 2011
  18. [GSoC 2011 v2] Git SequencerRamkumar Ramachandra, Apr 5, 2011
  19. Christian CouderApr 6, 2011
  20. Ramkumar RamachandraApr 6, 2011

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.