[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnu-arch-users] Renaming some tla commands (user interface)

From: David A. Wheeler
Subject: [Gnu-arch-users] Renaming some tla commands (user interface)
Date: Thu, 04 Mar 2004 06:58:19 GMT

Hi - I'm just starting to fiddle with tla;
it has lots of very interesting capabilities.

However, I can't help but be struck by some of
the odd command aliases and names, and the cluttered
"tla help" they cause.  I'm willing to submit a
patch to change this (hopefully it'd be an improvement!),
but I'd like to describe before I bother.
If people don't agree, there's no point in writing the patch.

In particular, it's really bizarre that "move" and "mv"
do different things; I'd expect them to be the same.
Similarly, "delete" and "rm" are different, but many
would expect them to be the same ("del" is the Windows/DOS
delete command, not rm at all, and other OSs & aliases use delete).
I was surprised that "delete" doesn't delete a file at all -
it only deals with the id's?!?  I think it's important to
create a _regular convention_ to distinguish the commands
that only manipulate id's from the commands that manipulate
both the files and ids. I suggest making the "-id" only work with
ids (for both mv and rm); without the "-id", mv and rm should work
with both id's AND the file(s)/directories specified.

Also, having all the aliases listed in "tla help" with their
logical area makes the help info much more cluttered. I suggest
picking one "primary" command, and placing it in the main body of the
help sections.  It's easier to learn if there's a single primary
command for each action. After all the rest of the help text,
then give an "Aliases" section that lists the aliases
(which most people will safely ignore).  Aliases are nice to make
the tool "do what people expect" when they give a command, but
when explaining a tool, I think it's a good idea to tell users
the _one_ standard command they _should_ use.

I'd be happy to submit a patch to change this, but I
thought it'd be best to post my idea first.
I suggest the following...

Project Tree Inventory Commands (primary commands):

rm     (removes the file AND id)
rm-id  (removes JUST the id (i.e., removes it from the inventory))
mv     (move file(s)/dir AND id)
mv-id  (move JUST id)

Later on, in a new "Aliases" section of help, note that:
add-id => add
move => mv
rename => mv
move-id => mv-id
delete-id => rm-id

I suggest adding an alias of "delete" to "rm-id",
but making that a _deprecated_ alias and changing
the test cases to reflect that. I think that
making "delete" different than "rm" is asking for trouble.
Sooner or later someone will mistake things and type
"rm" when they meant "delete".  A deprecated
alias will give everyone plenty of time to switch.
Of course, if someone has a better name than
"rm-id" ("unhook"? "uninv"? "unreg"?), I'm all ears.
But since the "-id" convention is already there, I'm just
trying to make it more regular.  But that's my opinion;
delete could simply be aliased to rm-id (or made the primary name)
and the rest of this approach could be used as-is.

Obviously, any patch would need to make sure that the code
reflects the primary names (for consistency).

Next steps: tla mkdir and tla rmdir.

Comments?  Sound okay?

--- David A. Wheeler <address@hidden>

reply via email to

[Prev in Thread] Current Thread [Next in Thread]