Unless I read it incorrectly, the completion script included with git-core does not make it easy for users to write completion scripts for custom git commands. I can extend git itself by creating a command "git-foo", and placing it in my path. The command can then be used like so: "git foo". However, if I want to add command completion for that command without modifying (I may not have permission) or duplicating the system git completion, I can't write a completion script which matches works on "git foo", only "git-foo", which is not how I would ever call the script. Anyway, so I made a simple modification which looks for completion code for custom commands, and calls that as appropriate. If the attached patch (or something like it) were applied to the git completion script, it would be awfully handy. -davidc ps. I'm not subscribed to the list, so please copy me on any replies, thanks!
--- /etc/bash_completion.d/git.orig 2010-01-12 14:50:16.000000000 -0500 +++ /etc/bash_completion.d/git 2010-01-12 15:28:27.000000000 -0500 @@ -1403,7 +1403,10 @@ svn) _git_svn ;; tag) _git_tag ;; whatchanged) _git_log ;; - *) COMPREPLY=() ;; + *) + COMPREPLY=() + $(complete -p |awk '/ '"git-${command}"'$/{print $(NF-1)}') + ;; esac }