On Tue, 14 Nov 2006 14:29:14 -0500, Shawn Pearce wrote: > Uh, see contrib/completion/git-completion.bash. Oops. I had seen this and thought I had installed it properly a while ago, (copied it to /etc/bash_completion.d/git), but I hadn't realized it wasn't active in the shell I used to test while composing that email. > "git <TAB>" completes commands. It offers too many completions > for your taste it sounds like, as it also offers plumbing... but > that's fixable. :-) Yes, I think we'd all be better off if we could designate some subset of the current git commands as not being intended for users to type on the command line and pulled them out of the completion scripts. It is tough though. Looking through what's available in the short list from "git --help" I notice that update-index isn't there, and that's currently still required, (as we've been discussing here). But even things as "core plumbing" as git rev-list I find extremely useful on the command like with simple pipelines. On the other hand, there are definitely some commands I've never typed, and are not intended to be typed by the user. Here are a few I see as fairly obvious just from skimming the list: merge-* http-* ssh-* upload-* mktag mktree check-ref-format ... There are a bunch of others as well. Maybe it would be easier to start with the list in git --help and see what should be added to that. The documentation for some of the above commands have phrases such as "Invoked by <other command>" and "usually not invoked by the end user" which does make the distinction quite clear. So it would be nice if git could keep these away from the user more. -Carl
Attachment:
pgprCE9Av334o.pgp
Description: PGP signature