A tiny model of Git's rules (the five above) checked against real Git on 21 rule sets. Folders are listed too, because a folder can be ignored on its own.