git-remote-testgit: avoid process substitution
authorJohannes Sixt <j6t@kdbg.org>
Sat, 27 Apr 2013 19:13:13 +0000 (21:13 +0200)
committerJunio C Hamano <gitster@pobox.com>
Sat, 27 Apr 2013 20:52:03 +0000 (13:52 -0700)
The implementation of bash on Windows does not offer process substitution.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-remote-testgit
index 5fd09f965a644a279ac79f5f1d0748650744e922..643e4aeb1901b29afe092f26af4b8b5f147a7ea2 100755 (executable)
@@ -86,17 +86,18 @@ do
                        exit 1
                fi
 
-               before=$(git for-each-ref --format='%(refname) %(objectname)')
+               before=$(git for-each-ref --format=' %(refname) %(objectname) ')
 
                git fast-import "${testgitmarks_args[@]}" --quiet
 
-               after=$(git for-each-ref --format='%(refname) %(objectname)')
-
                # figure out which refs were updated
-               join -e 0 -o '0 1.2 2.2' -a 2 <(echo "$before") <(echo "$after") |
-               while read ref a b
+               git for-each-ref --format='%(refname) %(objectname)' |
+               while read ref a
                do
-                       test $a == $b && continue
+                       case "$before" in
+                       *" $ref $a "*)
+                               continue ;;     # unchanged
+                       esac
                        echo "ok $ref"
                done