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