On Tue, Aug 31, 2021 at 04:40:39PM +0200, Ævar Arnfjörð Bjarmason wrote: > > On Sun, Aug 29 2021, SZEDER Gábor wrote: > > > Every once in a while a test somehow manages to escape from its trash > > directory and modifies the surrounding repository, whether because of > > a bug in git itself, a bug in a test [1], or e.g. when trying to run > > tests with a shell that is, in general, unable to run our tests [2]. > > > > Set GIT_CEILING_DIRECTORIES="$TRASH_DIRECTORY/.." as an additional > > safety measure to protect the surrounding repository at least from > > modifications by git commands executed in the tests (assuming that > > handling of ceiling directories during repository discovery is not > > broken, and, of course, it won't save us from regular shell commands, > > e.g. 'cd .. && rm -f ...'). > For what it's worth I'm very happy with this, and have been running this > in my own daily build of git, I've occasionally ran into e.g. needing to > manually clean up my own git.git's config file because some test escaped > its trash directory. Thanks, that's a good point. After a test escapes from its trash directory I routinely check the content of the work tree and look for stray refs, but it never occured to me that I should look at the config, too. And indeed, at the bottom of .git/config there are two config variables that I don't remember setting (actually don't even know what they do).