There are only two kinds of untracked paths in git. Ones that git is allowed to remove in order to carry out operations asked by the end user, i.e. ones that are trashable, are registered to the gitignore mechanism, and the ones that are precious are not in gitignore; the latter can interfere with git and prevent it from carrying out certain operations. E.g. an untracked and unignored file F will prevent you from switching to a branch that has file F tracked, or that has file F/G (iow, F is a directory in that branch) tracked. Ancient git didn't honor gitignore and considered no files trashable, which caused a lot of trouble to users. It may be illuminating to check discussions in the list archive during the period the following commits were made. f8a9d42 (read-tree: further loosen "working file will be lost" check., 2006-12-04), ed93b44 (merge: loosen overcautious "working file will be lost" check., 2006-10-08), c819353 (Fix switching to a branch with D/F when current branch has file D., 2007-03-15). We could enhance the mechanism to categorize untracked paths into three instead of two: trashable, unknown and precious. -- 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