On Sat, Sep 25, 2010 at 20:03, Johannes Sixt <j6t@xxxxxxxx> wrote: > On Samstag, 25. September 2010, Seth Robertson wrote: >> # Properly shows X and B/XX as untracked, as I expected >> echo X > X; echo XX > B/XX; git status >> >> # I expected B/XX to show up as untracked >> rm -f .gitignore B/.gitignore >> echo '*' > .gitignore; echo '!*' > B/.gitignore; git status > > You should update your expectations to match what you got. ;-) > > To show why your expectations are wrong, consider a *huge* and *deep* > directory with thousands and thousands of subdirectories, call it "usr", that > should be ignored. The .gitignore at the top-level would just say: > > Â/usr > > Do you really expect git to walk down this ignored directory, just to make > double-sure that really, really down there does nowhere exist a .gitignore > that says "oh, wait, don't ignore *this* file"? That wouldn't be so expensive if the expectation that the .gitignore in /usr would only be considered if it had already been commited. Then we'd just have to check if we have a tree for /usr, and whether there's a gitignore there. But doing this in the top-level .gitignore if possible is the best solution. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html