Summary: Git's "git status --ignored" is half-broken and therefore unreliable, and so are the "solutions" floating around the net.
I've posted a short explanation/rant along with a script written in D which accomplishes the task correctly: http://semitwist.com/articles/article/view/do-not-use-git-status-ignored
