OSDN Git Service

Merge branch 'js/transport-helper-error-reporting-fix'
authorJunio C Hamano <gitster@pobox.com>
Wed, 29 May 2013 21:20:25 +0000 (14:20 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 29 May 2013 21:20:25 +0000 (14:20 -0700)
Finishing touches to fc/transport-helper-error-reporting topic.

* js/transport-helper-error-reporting-fix:
  git-remote-testgit: build it to run under $SHELL_PATH
  git-remote-testgit: further remove some bashisms
  git-remote-testgit: avoid process substitution

1  2 
git-remote-testgit.sh
t/t5801-remote-helpers.sh

@@@ -87,23 -88,22 +89,27 @@@ d
                        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)')
+               git fast-import \
+                       ${testgitmarks:+"--import-marks=$testgitmarks"} \
+                       ${testgitmarks:+"--export-marks=$testgitmarks"} \
+                       --quiet
  
                # 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"
 +                      if test -z "$GIT_REMOTE_TESTGIT_PUSH_ERROR"
 +                      then
 +                              echo "ok $ref"
 +                      else
 +                              echo "error $ref $GIT_REMOTE_TESTGIT_PUSH_ERROR"
 +                      fi
                done
  
                echo
@@@ -6,13 -6,7 +6,8 @@@
  test_description='Test remote-helper import and export commands'
  
  . ./test-lib.sh
 +. "$TEST_DIRECTORY"/lib-gpg.sh
  
- if ! type "${BASH-bash}" >/dev/null 2>&1; then
-       skip_all='skipping remote-testgit tests, bash not available'
-       test_done
- fi
  compare_refs() {
        git --git-dir="$1/.git" rev-parse --verify $2 >expect &&
        git --git-dir="$3/.git" rev-parse --verify $4 >actual &&