A rational svn shelve/checkpoint CLI

2018-01-08 Thread Julian Foad
Towards a more rational shelving-with-checkpoints CLI. svn shelf-{save,shelve,unshelve,shelves,log,drop,diff} [SHELF_SPEC...] [PATH...] SHELF_SPEC: --shelf=[SHELF][.VERSION] @[SHELF][.VERSION] Specify shelf SHELF (name, 'all', 'newest'), version VERSION (number, date, 'all',

Re: A rational svn shelve/checkpoint CLI

2018-01-08 Thread Branko Čibej
On 08.01.2018 14:31, Julian Foad wrote: > Towards a more rational shelving-with-checkpoints CLI. > >   svn shelf-{save,shelve,unshelve,shelves,log,drop,diff} >     [SHELF_SPEC...] [PATH...] > > SHELF_SPEC: > >   --shelf=[SHELF][.VERSION] >   @[SHELF][.VERSION] > >     Specify shelf SHELF (name, 'al

Re: A rational svn shelve/checkpoint CLI

2018-01-08 Thread Julian Foad
Branko Čibej wrote: On 08.01.2018 14:31, Julian Foad wrote: Towards a more rational shelving-with-checkpoints CLI.   svn shelf-{save,shelve,unshelve,shelves,log,drop,diff}     [SHELF_SPEC...] [PATH...] SHELF_SPEC:   --shelf=[SHELF][.VERSION]   @[SHELF][.VERSION]     Specify shelf SHELF

Re: A rational svn shelve/checkpoint CLI

2018-01-08 Thread Stefan Sperling
On Mon, Jan 08, 2018 at 02:34:31PM +, Julian Foad wrote: > > >   svn save    -> svn shelf-save > > >   svn shelve  -> svn shelf-shelve > > >   svn unshelve    -> svn shelf-unshelve > > >   svn shelves -> svn shelf-shelves > > > > > > This naming doesn't make an

Re: A rational svn shelve/checkpoint CLI

2018-01-08 Thread Julian Foad
Stefan Sperling wrote: On Mon, Jan 08, 2018 at 02:34:31PM +, Julian Foad wrote:   svn save    -> svn shelf-save   svn shelve  -> svn shelf-shelve   svn unshelve    -> svn shelf-unshelve   svn shelves -> svn shelf-shelves This naming doesn't make any sen

Re: A rational svn shelve/checkpoint CLI

2018-01-08 Thread Stefan Sperling
On Mon, Jan 08, 2018 at 03:29:45PM +, Julian Foad wrote: > > How about a combination of new subcommands for actions which > > tranfer working copy state from/to the shelf (used frequently), > > and just one subcommand with options for management of the > > shelf itself (used less frequently), l

Re: A rational svn shelve/checkpoint CLI

2018-01-08 Thread Julian Foad
Stefan Sperling wrote: svn shelve svn unshelve svn shelf --list svn shelf --drop svn shelf --diff/--show That's a totally reasonable approach, and is similar to (not exactly the same as) what's currently implemented on trunk and on shelve-checkpoint branc

Re: A rational svn shelve/checkpoint CLI

2018-01-09 Thread Julian Foad
Julian Foad wrote: [[[ $ svn savepoint log 'qq' version 1: 52 days ago  0 files changed version 2: 51 days ago  hello.txt |    1 +  1 file changed, 1 insertion(+) version 3: 32 days ago  D5/file   |    2 ++  hello.txt |    1 +  2 files changed, 3 insertions(+) $ svn savepoint restore qq

Re: A rational svn shelve/checkpoint CLI

2018-01-09 Thread Daniel Shahaf
Julian Foad wrote on Tue, 09 Jan 2018 13:31 +: > Anyway the main point here is: we have in principle a set of tree > snapshots (no matter that each one is stored in the form of a difference > against the base); and we use revision specifiers to refer to the > working and base versions: ... >

Re: A rational svn shelve/checkpoint CLI

2018-01-09 Thread Julian Foad
Julian Foad wrote on Tue, 09 Jan 2018 13:31 +: Anyway the main point here is: we have in principle a set of tree snapshots (no matter that each one is stored in the form of a difference against the base); and we use revision specifiers to refer to the working and base versions: Initial impl

Re: A rational svn shelve/checkpoint CLI

2018-01-09 Thread Julian Foad
Julian Foad wrote: [...] Only the svn:log revprop is stored in the shelf format so far; it will be easy to extend to support all revprops. http://svn.apache.org/r1820714 does that. - Julian