On Thu, Sep 22, 2022 at 2:18 AM Jeff King <peff@xxxxxxxx> wrote: > On Thu, Sep 22, 2022 at 01:58:36AM -0400, Eric Sunshine wrote: > > > + (cd parent && pwd) >expect && > > > + git -C clone-bare-o config remote.foo.url >actual && > > > + test_cmp expect actual > > > > Is this safe on Microsoft Windows? My understanding from t/README: > > > > When a test checks for an absolute path that a git command > > generated, construct the expected value using $(pwd) rather than > > $PWD, $TEST_DIRECTORY, or $TRASH_DIRECTORY. It makes a difference > > on Windows, where the shell (MSYS bash) mangles absolute path > > names. For details, see the commit message of 4114156ae9. > > > > was that you should use $(pwd) rather than raw `pwd` when comparing > > against a path generated by Git. Is there a gap in my understanding > > here? > > I think you might be mis-reading the advice here. It is saying to use > the "pwd" program, rather than relying on the shell's $PWD variable. So > $(pwd) and `pwd` are the same thing (and are what I'm using). The $() I > think is just indicating that you'd do: > > foo=$(pwd) > > And yes, I think this is a case where using the right one is important > (which is why I used the pwd program, and not $pwd in the test). > > Or am I missing something else? I was thinking, in particular, about this snippet from t/test-lib.sh: # git sees Windows-style pwd pwd () { builtin pwd -W } If that's inherited by the subshell used in the test, then I suppose all is okay, though I think it would not be inherited.