resuming the command namespacing effort
Pierre-Yves David
pierre-yves.david at octobus.net
Mon Mar 13 15:01:26 UTC 2023
Hi everyone,
A while back (at the last online sprint) we discussed the idea of
introducing some command namespacing to clarify the command space a bit.
The initial motivation is to clarify the currently implicit "debug"
namespace that mixes all sort of commands, from massive foot-guns to
quite reasonable routine administration commands. There are no plan to
move command used in normal operations of "standard users" in namespace.
"moving to a namespace" always mean a command "rename", keeping the
previous name as a deprecated alias.
I am planning to resume working on command name-spacing this cycle.
Introducing new command in namespace when applicable and moving some of
the existing one when it make sense.
The currently planned namespaces are:
*# admin*
Commands that a server/site administrator might have to run as part of
server/user management. For example:
- cache warming,
- repository format inspection and upgrade
- clone bundle management
- history stripping
- lock management ?
*# debug
*Nobody should need to run this command but Mercurial developers and
people instructed to do so by mercurial developer, this should cover
- command that extract debug information about the repository raw
content, statistic, encoding and efficiency,
- foot-guns (why do we have foot-guns ?)
*# script*
Command useful for scripting, their behavior and output should be script
friendly (instead of user friendly) and they should help common
operation needed during scripting. For example:
- checking working copy status (is the dirstate clean)
- checking if a revset match anything
- locking utility ?
*# perf*
performance command from the perf extension,. this namespace actually
already exists for a handful of versions
Cheers
--
Pierre-Yves David
More information about the Mercurial-devel
mailing list