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

Re: rebase--interactive in C vs. sequencer

From
Daniel Barkalow <barkalow@iabervon.org>
Date
Apr 6, 2008, 21:44 UTC
Message-ID
<alpine.LNX.1.00.0804061724210.19665@iabervon.org>
In-Reply-To
<20080405122230.GC14565@leksak.fem-net>
On Sat, 5 Apr 2008, Stephan Beyer wrote:
Show 9 quoted lines
> Hi Daniel,
> 
> in [1] you have told that you are working on porting rebase--interactive
> to the C programming language.  In reply, Junio pointed out that a
> consolidated "git sequencer" is desired.
> 
> The sequencer became a project idea for Google Summer of Code and I am
> currently applying for that project.  But I had your mail in mind and 
> do not want that any work of yours is thrown away. ;-)
It's at git://iabervon.org/~barkalow/git/ builtin-rebase-int
> So... what is the current state?

I was mainly working from rebase--interactive, and a lot of what I have is the code for the particular steps that uses.

> Are you still working on it?

Not at the moment. I've been busy with a new job recently, and my git work has mainly been on builtin-clone.

> Is there a code stub or even more code which could be used for the
> sequencer task?

I haven't actually looked at it recently, so I don't entirely remember how far I got. I think my most recent code is based around the idea of having a sequence file and a file of saved options, but it's just kind of a sketch and most of the stuff isn't actually implemented. IIRC, the last thing I ran into was trying to decide where to leave the line for the step in progress. I think I'd settled on a set of operations that a step should define:

 a) try doing the step, which either works and you go to (c), or it 
    requires user assistance and you exit now and later start at (b)
 b) apply the stuff the user did to help
 c) finish up anything common
For example, merging would be:
 a) try an automatic merge; if it works, succeed, otherwise, write out 
    conflict files and exit
 b) check that the index is merged
 c) make a merge commit

IIRC, for some operations (b) was more interesting, because the case that didn't have user assistence generates the final state differently and there's less in (c).

	-Daniel
*This .sig left intentionally blank*
Previous: Stephan Beyer
Message 2 of 2 in “rebase--interactive in C vs. sequencer”
  1. Stephan BeyerApr 5, 2008
  2. Daniel BarkalowApr 6, 2008

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.