Am 17.10.2016 um 09:10 schrieb Junio C Hamano:
And I agree from that point of view that having to spell both sides
as $(pwd) would mean you are not testing that "Unixy input to
Windowsy output" expectation, but at the same time, I think you
would want "Windowsy input to Windowsy output" combination also does
produce correct result, which is not tested in the three tests shown
above. IOW, probably you would want to test both (at least on any
platform where $PWD and $(pwd) textually disagree) for all these
[*1*], and the pair
"../." taken relative to "$(pwd)/." must be "$(pwd)/."
"../." taken relative to "$PWD/." must be "$(pwd)/."
test, because of the limitation of your bash, cannot have the latter
half of the pair, so you'd need to comment it out with in-code
No, we do not have to test both cases. Git, the program, never sees
Unixy input. It cannot distinguish the two cases. If we did both tests,
we would just test that *if* the front-end of git is an MSYS program
(such as bash), *then* that MSYS front-end has converted the Unixy path
to a Windows-y path in such a way that the end-result is also as
expected. It's similar to a test that grep produces expected output.
I think that we could reduce the confusion by converting all $PWD to
$(pwd) in these test cases. I don't remember why I suggested to use $PWD
for one of the arguments of the test cases (the second must be $(pwd)),
but the most likely reason is only that we save a process.