Subject: BUG: sub-git files getting cleaned when using --exclude in the top git

From: "Jehan Bing" <[email-masked]>
Date: Thu, 21 Jun 2018 18:09:48 -0700

Hi,

I have a setup with tree of 250+ git repositories. Every now and then, I
want to clean everything except for files generated by my IDE. So for all
the git repos, I run “git clean -dfx --exclude <ide file>”. What happens
then is, if a sub-git as that file, all its files are deleted (except for
that ide file) instead of being skipped.

Here is a simplified setup:
       git init a
       cd a
       git init b
       touch b/1 b/2

Now, if I run (from a):
       git clean -dfx
git says “Skipping repository b/” and nothing is cleaned, as expected.

But if I run:
       git clean -dfx -e 1
then there is no “skipping” message and b/2 is deleted even if it is a file
tracked by b.
I would expect b to still be skipped and left untouched.

Regards,
  Jehan