Actually I've learned the hard way that this is a very bad and wrong practice. If we `ignore` in this level and you have changed code in a submodule and you will not be notified. Similarly if the submodule has been updated, like for example when we deleted django-arecibo and schematic from playdoh lib.

What you really want is to globally ignore `pyc` files in git, in case you don't do it already here's how to do it:

`git config --global core.excludesfile ~/.gitignore`

and edit `~/gitignore` to add `*.pyc`

Then removing `dirty` from submodules will work as you expect, i.e. display the submodule as dirty only when contents have changed and not on untracked content.