| #!/bin/sh | 
 |  | 
 | test_description='index file specific tests' | 
 |  | 
 | . ./test-lib.sh | 
 |  | 
 | test_expect_success 'setup' ' | 
 | 	echo 1 >a | 
 | ' | 
 |  | 
 | test_expect_success 'bogus GIT_INDEX_VERSION issues warning' ' | 
 | 	( | 
 | 		rm -f .git/index && | 
 | 		GIT_INDEX_VERSION=2bogus && | 
 | 		export GIT_INDEX_VERSION && | 
 | 		git add a 2>&1 | sed "s/[0-9]//" >actual.err && | 
 | 		sed -e "s/ Z$/ /" <<-\EOF >expect.err && | 
 | 			warning: GIT_INDEX_VERSION set, but the value is invalid. | 
 | 			Using version Z | 
 | 		EOF | 
 | 		test_i18ncmp expect.err actual.err | 
 | 	) | 
 | ' | 
 |  | 
 | test_expect_success 'out of bounds GIT_INDEX_VERSION issues warning' ' | 
 | 	( | 
 | 		rm -f .git/index && | 
 | 		GIT_INDEX_VERSION=1 && | 
 | 		export GIT_INDEX_VERSION && | 
 | 		git add a 2>&1 | sed "s/[0-9]//" >actual.err && | 
 | 		sed -e "s/ Z$/ /" <<-\EOF >expect.err && | 
 | 			warning: GIT_INDEX_VERSION set, but the value is invalid. | 
 | 			Using version Z | 
 | 		EOF | 
 | 		test_i18ncmp expect.err actual.err | 
 | 	) | 
 | ' | 
 |  | 
 | test_expect_success 'no warning with bogus GIT_INDEX_VERSION and existing index' ' | 
 | 	( | 
 | 		GIT_INDEX_VERSION=1 && | 
 | 		export GIT_INDEX_VERSION && | 
 | 		git add a 2>actual.err && | 
 | 		>expect.err && | 
 | 		test_i18ncmp expect.err actual.err | 
 | 	) | 
 | ' | 
 |  | 
 | test_expect_success 'out of bounds index.version issues warning' ' | 
 | 	( | 
 | 		sane_unset GIT_INDEX_VERSION && | 
 | 		rm -f .git/index && | 
 | 		git config --add index.version 1 && | 
 | 		git add a 2>&1 | sed "s/[0-9]//" >actual.err && | 
 | 		sed -e "s/ Z$/ /" <<-\EOF >expect.err && | 
 | 			warning: index.version set, but the value is invalid. | 
 | 			Using version Z | 
 | 		EOF | 
 | 		test_i18ncmp expect.err actual.err | 
 | 	) | 
 | ' | 
 |  | 
 | test_expect_success 'GIT_INDEX_VERSION takes precedence over config' ' | 
 | 	( | 
 | 		rm -f .git/index && | 
 | 		GIT_INDEX_VERSION=4 && | 
 | 		export GIT_INDEX_VERSION && | 
 | 		git config --add index.version 2 && | 
 | 		git add a 2>&1 && | 
 | 		echo 4 >expect && | 
 | 		test-index-version <.git/index >actual && | 
 | 		test_cmp expect actual | 
 | 	) | 
 | ' | 
 |  | 
 | test_done |