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_at_1.10 and shelve_at_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
Received on 2018-03-19 19:36:28 CET