Hello All, I read the document of gitignore (http://git-scm.com/docs/gitignore), and learned that $GIT_DIR/info/exclude has higher precedence than the file specified by core.excludesfile. But I noticed that patterns in core.excludesfile override patterns in $GIT_DIR/info/exclude. I tested as below: 1. Make a new git repository for test, and move into the repository. $ git init testrepo $ cd testrepo 2. Change core.excludesfile configuration. $ touch ../core_excludesfile $ git config core.excludesfile `realpath ../core_excludesfile` 3. Create test~. In each step I check if the file is ignored or not. $ touch test~ 4. See git status. In this case I expect that test~ should not be ignored. $ git status --ignored 5. Change settings in .git/info/exclude. $ echo '*~' > .git/info/exclude 6. See git status. In this case I expect that test~ should be ignored. $ git status --ignored 7. Change settings in .git/info/exclude and core.excludesfile. $ echo '*~' > ../core_excludesfile $ echo '!*~' > .git/info/exclude 8. See git status. In this case I expect that test~ should not be ignored. $ git status --ignored 9. Change settings in .git/info/exclude and core.excludesfile $ echo '!*~' > ../core_excludesfile $ echo '*~' > .git/info/exclude 10. See git status. In this case I expect that test~ should be ignored. $ git status --ignored Steps 4. and 6. worked as I expected, but 8. and 10. didn't. I read the source code of Git, and found out the point that seems to cause the problem. In dir.c, setup_standard_excludes() adds patterns in .git/info/exclude to the excludes list first, and patterns in core.excludesfile are added next. In last_exclude_matching_from_list(), pattern is searched from the end of the list, and the first matching pattern is used. Therefore the patterns in core.excludesfile are used in precedence to .git/info/exclude. To meet the precedence described in the document of gitignore, I guess setup_standard_excludes() should be fixed so that patterns in core.excludesfile are added to the list before those in .git/info/ecdlude are added. Thanks -- 遠藤 陽平 (Yohei Endo) yoheie@xxxxxxxxx -- 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