Re: Git excludes fails to avoid git submodule warning
- From
Duy Nguyen <pclouds@gmail.com>
- Date
- Mar 24, 2019, 07:58 UTC
- Message-ID
- <CACsJy8Dhio4C6p-ZtJ1ZOq-6UP9GiBg3sXsy4YDKamm5p-zqbw@mail.gmail.com>
- In-Reply-To
- <5352115.zUM9HkL6VV@beast>
On Sun, Mar 24, 2019 at 6:01 AM Klaatu <klaatu@member.fsf.org> wrote:
Show 28 quoted lines
> > Working with Git 2.21.0 on Linux: > > The git-add(1) man page says: > > "The optional configuration variable core.excludesFile indicates a path to a > file containing patterns of file names to exclude from git-add" > > But if I do this: > > $ echo "docs/themes/*/.git >> .gitexcludes > $ git config core.excludeFiles .gitexcludes > $ git add docs > warning: adding embedded git repository: docs/themes/foo > > It seems to me that this goes against what the git-add(1) man page says. > > A workaround I found on stackoverflow is to add any file within the target > directory: > > $ git add docs/themes/foo/README > > And then add everything: > > $ git add docs > > In which case the contents of .gitexcludes is honoured. But that seems like a > hack.
That's because you're not supposed to add files inside another repository. The "git add docs/theme/foo/README" should have failed.
This kind of sharing part of worktree between two repositories (the top dir and one in docs/themes/foo) has never been officiaily supported if I remember it correctly.
Show 5 quoted lines
> Am I experiencing the intended result of Git's exclude function? If so, I'll > happily submit a patch to the man page to clarify this behaviour. If not, I > guess I'm submitting a bug report here. > > Thanks for all the amazing work.
-- Duy