[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Checkpointing v1 design -- terminology

From: Julian Foad <julianfoad_at_apache.org>
Date: Mon, 6 Nov 2017 16:30:33 +0000

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_at_3
>   svn revert --savepoint=3 --cl=foo
>   svn changelist restore -v3 foo
>
> (I am deliberately bringing 'changelist' into the mix, as I believe
> integration with 'changelist' is where we need to take this.)

The integration with changelists that I am thinking of is basically that
changelist FOO corresponds to the working (unshelved) version of a
shelved change named FOO. Unshelving or restoring FOO will apply the
saved change FOO and assign the affected files to changelist FOO; and
saving or shelving FOO will use the changelist FOO as the set of files
to save or shelve.

With this changelist integration we could have... (I know we can't
compatibly have exactly this syntax; see below for alternatives)...

Shelve = save and revert:
   svn cl shelve FOO

Checkpoint = save and don't revert:
   svn cl save FOO

Unshelve / restore / roll back (all possible names for same thing):
   svn cl unshelve [-v VERSION_NUM] FOO
   svn cl restore [-v VERSION_NUM] FOO
   (etc.)

Revert files in (active) changelist FOO:
   svn revert --cl=FOO # existing syntax
   svn cl revert FOO

Commit the (possibly shelved) changelist FOO:
   svn commit --cl=FOO # existing syntax
   svn cl commit FOO

Possible different ways to write the topic noun and the verb:

   svn clsave FOO [PATH...]
   svn cl save FOO [PATH...]
   svn cl --save FOO [PATH...]
   svn changelist save FOO [PATH...]
   svn changelist-save FOO [PATH...]

   svn save --cl=FOO [PATH...]

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.

- Julian
Received on 2017-11-06 17:30:40 CET

This is an archived mail posted to the Subversion Dev mailing list.