Hi again, Jonathan Nieder writes: > Ramkumar Ramachandra wrote: >> Okay, I don't follow. Wouldn't this function need to parse the todo >> sheet and figure out how many instructions are left? For that, the >> todo parsing functions can't be buried in builtin/revert.c, no? Hence >> I said "expose" them -- or move them to sequencer.c. > > Oh, that makes sense. Sorry for the nonsense. If I were in your > shoes, I'd move everything below pick_commits to sequencer.c. :sigh: I thought it would be easy too, but there are several complications. I'll spare you the gory details of the series I'm preparing and tell you the main problem briefly: Notice how the API of read_populate_todo includes opts. Arguably, I did this with good reason: I didn't want `git cherry-pick --continue` to continue a pending `git revert` operation and viceversa. However, this means that option parsing and todo parsing are slightly tangled up now -- I could always pass a dummy opts structure with only the action filled in, but I think that's inelegant. So, I'm currently working to untangle them by changing the way a todo list is represented -- just a commit_list won't do. Once I change this, a simple `git cherry-pick --continue` will be able to continue any pending sequencer operation, but this is arguably a big patch. Once that is done, I can move dependent functions to sequencer.c and expose an API in sequencer.h for commit.c to use. Also, I don't want to move things to sequencer.c and change the API until I can imagine other git programs working with the generalized sequencer; I hope it'll be clear after a weekend of work. Long story short: I'd like it if we could bear with this slight annoyance (removal of sequencer state when one commit is pending) and get the series merged, so that I can work on a series to improve the experience based on this series. Thanks. -- Ram -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html