Branko Čibej wrote:
In order to use checkpoints as a sort of local commit, you do have to be able to push a series of commits to the server. You'd distinguish explicit checkpoints (with log messages) and implicit/automatic checkpoints; only the explicit ones would constitute separate commits.
That would be lovely. It is beyond what I see as basic checkpointing functionality (which is more like a local 'undo' mechanism while composing one commit).
In order to support that, you'd have to have a way to rebase the whole checkpoint stack onto current HEAD (or at least to a non-conflicting state). Ideally you'd also support operations such as checkpoint reordering, (local) squashing, removal, etc.
Yes. I'll aim to design in such a way as to make those kinds of things possible in future extensions.
I like the idea of being able to have both explicit and implicit/automatic/lightweight checkpoints and distinguish them. The more I think about automatic checkpoints, the more I see this as bringing to Subversion's WC the 'auto-save' and 'undo' features that nearly all user-friendly editor applications offer. I can see a GUI wanting to make frequent automatic checkpoints so that the user doesn't have to remember to do so.
- Julian