From: Jack O'Connor Date: Mon, 13 Dec 2021 17:12:08 GMT Subject: Re: [PATCH v3 03/11] read-tree, merge-recursive: overwrite ignored files by default Message-ID: In-Reply-To: <2501a0c552ad5147f61a96b9ebe45c5199e1dbfd.1632760428.git.gitgitgadget@gmail.com> > read-tree, merge-recursive: overwrite ignored files by default When this patch shipped in v1.34, a test broke in a project of mine (https://github.com/buildinspace/peru/blob/e9ba6e0024ea08105a8d027f958899cca39aeb9a/tests/test_cache.py#L111-L117) that was relying on git read-tree *not* to respect .gitignore files. (Obligatory https://xkcd.com/1172.) That peru tool is using git plumbing commands to manage trees of files, but it tries to keep this implementation detail internal, and behaving differently in the presence of a .gitignore file belonging to the user would leak this internal implementation detail. I've been trying to figure out a way to reproduce the Git 1.33 behavior in Git 1.34, but so far I haven't found any flags or configs to do that. (For example, putting !* in .git/info/exclude doesn't seem to help, I think because a .gitignore file in the working tree takes precedence.) Can anyone suggest another workaround? This is my first mail to this list, so please let me know if I mess up the etiquette. - Jack