1#!/bin/sh 2 3test_description='check that certain rev-parse options work outside repo' 4. ./test-lib.sh 5 6test_expect_success 'set up non-repo directory'' 7 GIT_CEILING_DIRECTORIES=$(pwd)&& 8 export GIT_CEILING_DIRECTORIES && 9 mkdir non-repo && 10 cd non-repo && 11 # confirm that git does not find a repo 12 test_must_fail git rev-parse --git-dir 13' 14 15# Rather than directly test the output of sq-quote directly, 16# make sure the shell can read back a tricky case, since 17# that's what we really care about anyway. 18tricky="really tricky with\\and\"and '" 19dump_args () { 20for i in"$@";do 21echo"arg:$i" 22done 23} 24test_expect_success 'rev-parse --sq-quote'' 25 dump_args "$tricky" easy >expect && 26 eval "dump_args$(git rev-parse --sq-quote "$tricky" easy)" >actual && 27 test_cmp expect actual 28' 29 30test_expect_success 'rev-parse --local-env-vars'' 31 git rev-parse --local-env-vars >actual && 32 # we do not want to depend on the complete list here, 33 # so just look for something plausible 34 grep ^GIT_DIR actual 35' 36 37test_expect_success 'rev-parse --resolve-git-dir'' 38 git init --separate-git-dir repo dir && 39 test_must_fail git rev-parse --resolve-git-dir . && 40 echo "$(pwd)/repo" >expect && 41 git rev-parse --resolve-git-dir dir/.git >actual && 42 test_cmp expect actual 43' 44 45test_done