Somewhen (around the 1.6.x releases, I think) git became aware of changes inside submodules. That only serves to annoy me:
$ git status vendor | grep modified:
#
You can also use
% git config [--global] submodule.ignore dirty
to set submodule.ignore = dirty in your .git/config file. --global will set the ignore flag in your ~/.gitconfig and apply to all your repositories. Without it it should set in .git/config for just the repo you're in currently.
The only documentation I can find on this is submodule. at the git-config docs. I moved it from a .gitmodules file into my ~/.gitconfig and it's still working for me.