Stefan Sperling wrote:
On Mon, Jan 08, 2018 at 02:34:31PM +0000, 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 sense to me. Using a word root in the same
command as both a noun and a verb runs counter to my notions of proper
grammar. It doesn't look right. The following would be better:

      shelf-save, shelf-restore, shelf-list, shelf-log, shelf-drop,
shelf-diff.[*]

Thanks for your thoughts.

You missed out the 'shelve' command (which is like 'save' but reverts the
modifications) which is probably the most difficult one to accommodate. What
do you propose for that? If you intend 'save' to include the revert then
what do propose for the form that doesn't revert (that is, form that creates
another save-point/check-point)?

I considered using the word 'restore'. It is fine in the context of
'shelf-restore' but because of considering aliases I went for 'unshelve' as
the better one-word name, and let the two-word construction be ugly. I also
considered 'svn unshelve' as an alias with 'svn shelf-restore' as the
two-word form.

Similarly for 'shelves' vs. 'list', with an additional consideration here
that 'svn list' is already a command with a different meaning, a meaning
that could also usefully be applied to a shelf.

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), like:

        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 branch.

FWIW you missed out 'svn save' (create a checkpoint, don't revert from WC).

The discussion of syntax for referring to a particular shelf and version is perhaps the more interesting part of the whole discussion; I would welcome any thoughts on that part.

- Julian

Reply via email to