Re: Checkpointing v1 design

2018-01-22 Thread Julian Foad
Julian Foad wrote: [...] This aims to streamline the manual method, which I use myself, of using 'svn diff' and 'svn patch' to create and apply patches named 'feature-v1.patch', 'feature-v2.patch', etc. Now on trunk: $ svn help | grep "shel[fv]" shelf-diff shelf-drop shelf-list (she

Re: Checkpointing v1 design

2017-11-18 Thread Julian Foad
Julian Foad wrote: [...] This aims to streamline the manual method, which I use myself, of using 'svn diff' and 'svn patch' to create and apply patches named 'feature-v1.patch', 'feature-v2.patch', etc. An initial version is now committed to 'shelve-checkpoint' branch. - Julian

Re: Checkpointing v1 design -- terminology

2017-11-10 Thread Paul Hammant
> > $ svn save --revert -v2 "add hair color to person page" >> >> .. does the save and THEN drops the CL and it's changes in working copy - >> back to no changes but not necessarily up to date. >> > > That sounds like you're proposing an alternative syntax for what the > 'shelve' command does -- ex

Re: Checkpointing v1 design -- terminology

2017-11-10 Thread Branko Čibej
On 10.11.2017 14:20, Julian Foad wrote: > Julian Foad wrote: >> [...] To achieve such rollbacks, the user would have to first revert, >> which involves deciding what to revert. >> >> And that seems OK to me. > > The larger point is that this kind of work flow, and the difficulty of > working with c

Re: Checkpointing v1 design -- terminology

2017-11-10 Thread Julian Foad
Julian Foad wrote: [...] To achieve such rollbacks, the user would have to first revert, which involves deciding what to revert. And that seems OK to me. The larger point is that this kind of work flow, and the difficulty of working with changes in overlapping subtrees, is analogous to some

Re: Checkpointing v1 design -- terminology

2017-11-10 Thread Julian Foad
Paul Hammant wrote: I'd be happier with save-cl rather than ci-save.  Or just 'save', as I'm not sure what you're saving if not a change list.  Incidentally CL looks pretty close to CI in lower case and that's already used. Spaces allowed in FOO name? $ svn save -v2 "add hair color to person

Re: Checkpointing v1 design -- terminology

2017-11-08 Thread Julian Foad
Julian Foad wrote: You can work out the 'rollbacks' from there (I haven't time right now); (That sounded like a crass cop-out, but I seriously didn't have a moment more to spare to think about it right then.) The 'rollback' commands as written in steps 6 and 7 would both error. To achieve s

Re: Checkpointing v1 design -- terminology

2017-11-08 Thread Julian Foad
Branko Čibej wrote: I shudder to think of the interactions and side effects of partial checkpoints. Consider our standard Greek tree and the following sequence: First think about saving checkpoints the manual way, to set our initial expectations fairly low: svn diff foo-paths > foo-4.patch

Re: Checkpointing v1 design -- terminology

2017-11-07 Thread Branko Čibej
On 07.11.2017 16:15, Julian Foad wrote: > Branko Čibej wrote: >> On 06.11.2017 17:30, Julian Foad wrote: >>> The key point I am making here is the "topic" we're talking about in >>> these commands is the "changelist" rather than the "savepoint" which >>> is merely a stored version of a changelist.

Re: Checkpointing v1 design -- terminology

2017-11-07 Thread Julian Foad
Branko Čibej wrote: On 06.11.2017 17:30, Julian Foad wrote: The key point I am making here is the "topic" we're talking about in these commands is the "changelist" rather than the "savepoint" which is merely a stored version of a changelist. All our current commands that use changelists use th

Re: Checkpointing v1 design -- terminology

2017-11-07 Thread Branko Čibej
On 06.11.2017 17:30, Julian Foad wrote: > The key point I am making here is the "topic" we're talking about in > these commands is the "changelist" rather than the "savepoint" which > is merely a stored version of a changelist. All our current commands that use changelists use them as an alias for

Re: Checkpointing v1 design -- terminology

2017-11-06 Thread Paul Hammant
I'd be happier with save-cl rather than ci-save. Or just 'save', as I'm not sure what you're saving if not a change list. Incidentally CL looks pretty close to CI in lower case and that's already used. Spaces allowed in FOO name? $ svn save -v2 "add hair color to person page" Also.. $ svn sav

Re: Checkpointing v1 design -- terminology

2017-11-06 Thread Julian Foad
Julian Foad wrote: 'Roll back' means retrieving an old version of a shelved change and could be named like one or a permutation of these:   svn unshelve --checkpoint=3 foo   svn shelf restore foo@3   svn revert --savepoint=3 --cl=foo   svn changelist restore -v3 foo (I am deliberately brin

Re: Checkpointing v1 design -- terminology

2017-11-06 Thread Julian Foad
Branko Čibej wrote: [...] I've often wished we'd made our argument parser slightly more flexible in that respect, so that [...] we could write     svn [topic] command [options args] FWIW, the reason I'm slightly in favour of "savepoint" vs. "checkpoint" has been discussed before: the abbrevi

Re: Checkpointing v1 design -- terminology

2017-11-04 Thread Daniel Shahaf
Branko Čibej wrote on Sat, 04 Nov 2017 13:51 +0100: > Traditionally we've striven to appear marginally literate in the text we > produce, that includes command structure. There's no harm in trying to > adhere to that tradition, especially as it does not cost us more than > some chattering on the de

Re: Checkpointing v1 design -- terminology

2017-11-04 Thread Branko Čibej
On 04.11.2017 00:21, Daniel Shahaf wrote: > But I don't understand what's the problem that we're trying to solve > here. Why is it a problem that "shelf" is a noun and "shelve" a verb? > And for that matter, why couldn't we use "checkpoint" as a verb? Traditionally we've striven to appear margina

Re: Checkpointing v1 design -- terminology

2017-11-04 Thread Branko Čibej
On 03.11.2017 22:51, Julian Foad wrote: > Branko Čibej wrote: >>>    * main commands are 'checkpoint' to save a new version and >>> 'rollback' to revert to version N >> >> The main issue I have with this is that "checkpoint" is not a verb. (I >> know, neither are 'changelist' or 'auth'). >> >> How

Re: Checkpointing v1 design

2017-11-03 Thread Vincent Lefevre
On 2017-11-03 19:39:51 +0100, Branko Čibej wrote: > On 03.11.2017 15:54, Julian Foad wrote: > > After playing with two pre-prototypes and discussing a wide variety of > > ideas on this list, I have given detailed thought to a v1 > > checkpointing design with the following properties: > > > >   * lo

Re: Checkpointing v1 design -- terminology

2017-11-03 Thread Daniel Shahaf
Julian Foad wrote on Fri, Nov 03, 2017 at 21:51:37 +: > Branko Čibej wrote: > > >   * main commands are 'checkpoint' to save a new version and > > > 'rollback' to revert to version N > > > > The main issue I have with this is that "checkpoint" is not a verb. (I > > know, neither are 'changeli

Re: Checkpointing v1 design -- terminology

2017-11-03 Thread Julian Foad
Branko Čibej wrote:   * main commands are 'checkpoint' to save a new version and 'rollback' to revert to version N The main issue I have with this is that "checkpoint" is not a verb. (I know, neither are 'changelist' or 'auth'). How about 'save' (to create a savepoint) and 'restore' instead?

Re: Checkpointing v1 design

2017-11-03 Thread Branko Čibej
On 03.11.2017 15:54, Julian Foad wrote: > After playing with two pre-prototypes and discussing a wide variety of > ideas on this list, I have given detailed thought to a v1 > checkpointing design with the following properties: > >   * local (not server) >   * built on shelving v1 (patches) >   * ma

Re: Checkpointing v1 design

2017-11-03 Thread Julian Foad
Listing shelved and applied change-sets could look something like this: [[[ $ svn shelves applied: X (at version 1) thing (at version 10) shelved: foo (1 version) bar (4 versions) old-thing (1 version) new-changes (18 versions) ]]] or integrated with changelists: [[[ $ svn changelis