I'm still looking for something that will make git file completion as nice as hg's. That is, in hg when I type hg diff it can complete it for me. Ditto for commit, merge, etc.

Zsh. Prezto¹ has this built in.

¹ https://github.com/sorin-ionescu/prezto