Daniel Shahaf wrote in thread "Subversion 1.10 RC1?" on 2017-11-23:
I don't think saying "This command is not forwards compatible" in the help text
will prevent users from relying on it being forwards compatible; which, in
turn, will discourage us, come 1.11, to make incompatible changes to this
command.
Perhaps we should rename the command to, say, "xshelve" — like the "X-" prefix
of experimental email headers, but without a minus for ease of typing? Then we
could have a convention, "any command whose name starts with 'x' is not
guaranteed to be forwards compatible", and we'd be able to make incompatible
changes (to "xshelve") without worrying about users asking for compatibility
despite the documentation. In 1.11, if we wanted to make "shelve" stable, we
could even continue to accept "xshelve" as an alias, if the semantics of
xshelve@1.10 and shelve@1.11 are compatible.
Thinking on this theme, I came up with this:
[[[
$ svn help
...
Available subcommands:
...
x-shelf-diff (shelf-diff)
x-shelf-drop (shelf-drop)
x-shelf-list (shelf-list, shelves)
x-shelf-list-by-paths (shelf-list-by-paths)
x-shelf-log (shelf-log)
x-shelf-save (shelf-save)
x-shelve (shelve)
x-unshelve (unshelve)
$ svn help shelve
x-shelve (shelve): Move local changes onto a shelf.
usage: x-shelve [--keep-local] NAME [PATH...]
Save the local changes in the given PATHs to a shelf named NAME.
...
]]]
Aliases. Makes it very clear in the help, while allowing people to try
using the more "real" names like "svn shelve".
- Julian