Initially I wrote that 'checkpointing' should allow committing the
result either all at once or as a corresponding series of commits.
Having thought more, I believe the use case for a series of commits
falls out of scope.
Preparing a series of patches that will be applied (perhaps
committed) sequentially in a given order.
Each patch represents a self-contained logical change, likely with
its own log message.
Later patches may depend on earlier ones.
Ability to jump to any patch in the series and modify it in the
context of the earlier patches having been applied and the later ones not.
After such a modification, updating (as in rebasing) the later
Ability to commit the series as a corresponding series of commits,
or all in one commit.
Saving intermediate, unfinished, working states during the
preparation of a single logical change.
The change will be committed as one revision when finished.
Changing a state that has been checkpointed may be accomplished
either by rolling back to an earlier state and then re-doing all
subsequent changes in the desired way, or by leaving that checkpoint in
place and making a further checkpoint after changing the working state
in the desired way.
Like an "undo stack", with or without "redo".
Received on 2017-07-17 13:42:32 CEST