Am 27.05.2017 um 16:06 schrieb Ramsay Jones:
To be more explicit, last Sunday I hacked into t7407 to show an
example failure on cygwin (see patch below), but it passes on both
Linux (expected) and cygwin! :( Perhaps you can see what I'm doing
wrong?

As long as the git.exe you are using here is Cygwin's, Windows conventions do not apply. I think, the environment is transfered across the exec boundaries using Cygwin's own tools, and Windows's case-insensitive environment does not enter the game at all. But that's just a shot in the dark.


ATB,
Ramsay Jones

-- >8 --
Date: Sun, 21 May 2017 16:23:58 +0100
Subject: [PATCH] submodule: foreach $path munging on cygwin

---
  t/t7407-submodule-foreach.sh | 19 +++++++++++++++++++
  1 file changed, 19 insertions(+)

diff --git a/t/t7407-submodule-foreach.sh b/t/t7407-submodule-foreach.sh
index 6ba5daf42..c2d66bab7 100755
--- a/t/t7407-submodule-foreach.sh
+++ b/t/t7407-submodule-foreach.sh
@@ -68,17 +68,36 @@ Entering 'sub3'
  $pwd/clone-foo3-sub3-$sub3sha1
  EOF
+cat >expect-func <<EOF
+Entering 'sub1'
+running from TRASH
+path is <<sub1>>
+Entering 'sub3'
+running from TRASH
+path is <<sub3>>
+EOF
+
  test_expect_success 'test basic "submodule foreach" usage' '
+       PATH="$PWD:$PATH" &&
+       write_script foreach-func <<-\EOF &&
+       echo "running from TRASH"
+       echo "path is <<$1>>"
+       EOF
        git clone super clone &&
        (
                cd clone &&
                git submodule update --init -- sub1 sub3 &&
                git submodule foreach "echo \$toplevel-\$name-\$path-\$sha1" > 
../actual &&
+               git submodule foreach "foreach-func \$path" > ../actual-func1 &&
+               git submodule foreach "export path; foreach-func \$path" > 
../actual-func2 &&
                git config foo.bar zar &&
                git submodule foreach "git config --file \"\$toplevel/.git/config\" 
foo.bar"
        ) &&
+       test_i18ncmp expect-func actual-func1 &&
+       test_i18ncmp expect-func actual-func2 &&
        test_i18ncmp expect actual
  '
+test_done
cat >expect <<EOF
  Entering '../sub1'


Reply via email to