On Mon, Mar 23, 2015 at 9:00 PM, Duy Nguyen <pclouds@xxxxxxxxx> wrote: > On Sun, Mar 22, 2015 at 10:33 AM, Eric Sunshine <sunshine@xxxxxxxxxxxxxx> wrote: >> On Fri, Mar 20, 2015 at 6:36 AM, <mdconf@xxxxxxxxx> wrote: >>> Any idea what I am doing wrong? >> >> The fourth bullet point of the "Pattern Format" section of the >> gitignore man page has this to say, which explains the behavior you're >> seeing: >> >> An optional prefix "!" which negates the pattern; any matching >> file excluded by a previous pattern will become included again. >> It is not possible to re-include a file if a parent directory of >> that file is excluded. Git doesn’t list excluded directories for >> performance reasons, so any patterns on contained files have no >> effect, no matter where they are defined. > > This is true. To elaborate, if we have to recurse in excluded > directories so that we can include some back, then the reason for > excluding is already defeated as we may need to traverse the entire > directory structure. However in this particular case where we do know > in advance that only certain directories may have "re-include" rules, > e.g. "db", "reports" or "scripts", we could keep going for a while. I > think I attempted to do this in the past and failed (don't remember > exactly why). Maybe I'll try again some time in future. I also was pretty sure that you had attempted this, but couldn't find a reference to it, so I didn't mention it in my response. However, with some more digging, I finally located it[1]. [1]: http://article.gmane.org/gmane.comp.version-control.git/259870 > Another option is, if the user is willing to accept performance > degradation (in many small repos, it does not matter anyway), then we > could keep digging in. > -- > Duy -- 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