Right now it confuses at least git-diff-files, since it leaves all the files (whether changed or not) in the diff queue.
Fix permissions, and add trivial "reset" and "add" scripts. The "reset" script just resets the index back to head, while the "add" script is just a crutch for people used to do "cvs add".
It's a simple helper that depending on the arguments will either use git-diff-files, git-diff-cache or git-diff-tree.