Subject: Re: unifying sequencer's options persisting, was Re: [PATCH v2] sequencer: fix edit handling for cherry-pick and revert messages

From: Junio C Hamano <[email-masked]>
Date: Fri, 02 Apr 2021 14:01:17 -0700

Phillip Wood <[email-masked]> writes:

> I think we would save a lot by only syncing the state to disk when we
> stop or run an exec command (the state needs to be synced so exec 
> commands can alter the todo list). In those cases we need to write the
> index and possibly run an external process so writing a couple of
> files is probably insignificant.

The optimization opportunity of this may be a lot smaller than you
would think---you must cater to not just exec but hook scripts that
are run while a new commit is made, which means every step you'd
need to write anyway.

> Where I think we can usefully consolidate is the one-line files which
> store the options rather than state - these are read an written much 
> less frequently so I don't think they have much of a performance hit
> but it would be much nicer to just serialize the options to a single
> file.

Would that break external scripts, hooks, etc.?  I am not sure if we
even have any rough consensus for allowing other people to peek into
the .git/rebase-*/ directories, but I am inclined to say that it
sounds more like a solution looking for a problem than a good idea
to solve some concrete problem.