Ok, I hate to do this, since my fingers have already gotten used to the old names, but we clearly can't continue to use command names like "update-cache" or "read-tree" that are totally non-git-specific.
So I just pushed out a change that renames the commands to always have a "git-" prefix. In addition, I renamed "show-diff" to "diff-files", with together with the prefix means that it becomes "git-diff-files" when used.
Since I end up using tab-completion for almost all my work, and since -within- the source directory there's no confusion, I didn't actually name the source files with any git- prefix. Quite the reverse: I removed the prefix from the two .c files that already had it (so git-mktag.c is now just "mktag.c"), and the general rule for building the executable from a C file is now
git-%: %.c $(LIB_FILE) $(CC) $(CFLAGS) -o $@ $(filter %.c,$^) $(LIBS)
this seemed to be a nice regular interface that means that binaries get installed with clear "git-" prefixes, but that I don't have to look at them when I edit the sources.
Sorry to everybody else whose fingers have already learnt the old names. The good news is that if you use cogito, you won't care.
Linus