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:
#
There is even a possibility to set the ignore mode for every added submodule within the .gitmodules file.
Just today I encountered this problem and immediately wrote an article in my blog about it after finding a solution: How to ignore changes in git submodules
The gist of it:
Once you added a submodule there will be a file named
.gitmodulesin the root of your repository
Just add one line to that .gitmodules file:
[submodule "bundle/fugitive"]
path = bundle/fugitive
url = git://github.com/tpope/vim-fugitive.git
ignore = dirty