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