On Mon, Nov 28, 2022 at 12:41 PM Junio C Hamano <gitster@xxxxxxxxx> wrote: > > Jiang Xin <worldhello.net@xxxxxxxxx> writes: > > > From: Jiang Xin <zhiyou.jx@xxxxxxxxxxxxxxx> > > > > In test case "shared=all", the working directory is permanently changed > > to the "sub" directory. This leads to a strange behavior that the > > temporary repositories created by subsequent test cases are all in this > > "sub" directory, such as "sub/new", "sub/child.git". If we bypass this > > test case, all subsequent test cases will have different working > > directory. > > > > Since the test case "shared=all" and all subsequent will work properly > > in the default test repository, we don't need to create and change to > > the "sub" directory in the test case "shared=all". > > It is much worse than that. If existing tests after this step were > running destructive operations in their "..", because we have this > extra "sub" directory and such a destructive test were running > there, the damage would have been contained in $TRASH_DIRECTORY but > with this change, it will touch t/ (or the parent directory of the > $TRASH_DIRECTORY). So, "will work properly" may not be sufficient; > we need to audit the rest of the script and make sure there is no > such funny "step outside the test enviromnent" happening before we > are sure that this is a "safe" change. No such funny operations in the follow test cases, but will add some notes in commit log. Thanks. -- Jiang Xin > > It is the "right" thing to do, though. I do not see any reason why > we want to have an extra level "sub" directory there.