Allow adding a TEST_GIT_INDEX_VERSION variable to config.mak to set the index version with which the test suite should be run. If it isn't set, the default version given in the source code is used (currently version 3). To avoid breakages with index versions other than [23], also set the index version under which t2104 is run to 3. This test only tests functionality specific to version 2 and 3 of the index file and would fail if the test suite is run with any other version. Helped-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Thomas Gummerer <t.gummerer@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
		
			
				
	
	
		
			60 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh
 | 
						|
#
 | 
						|
# Copyright (c) 2008 Nguyễn Thái Ngọc Duy
 | 
						|
#
 | 
						|
 | 
						|
test_description='skip-worktree bit test'
 | 
						|
 | 
						|
. ./test-lib.sh
 | 
						|
 | 
						|
test_set_index_version 3
 | 
						|
 | 
						|
cat >expect.full <<EOF
 | 
						|
H 1
 | 
						|
H 2
 | 
						|
H sub/1
 | 
						|
H sub/2
 | 
						|
EOF
 | 
						|
 | 
						|
cat >expect.skip <<EOF
 | 
						|
S 1
 | 
						|
H 2
 | 
						|
S sub/1
 | 
						|
H sub/2
 | 
						|
EOF
 | 
						|
 | 
						|
test_expect_success 'setup' '
 | 
						|
	mkdir sub &&
 | 
						|
	touch ./1 ./2 sub/1 sub/2 &&
 | 
						|
	git add 1 2 sub/1 sub/2 &&
 | 
						|
	git ls-files -t | test_cmp expect.full -
 | 
						|
'
 | 
						|
 | 
						|
test_expect_success 'index is at version 2' '
 | 
						|
	test "$(test-index-version < .git/index)" = 2
 | 
						|
'
 | 
						|
 | 
						|
test_expect_success 'update-index --skip-worktree' '
 | 
						|
	git update-index --skip-worktree 1 sub/1 &&
 | 
						|
	git ls-files -t | test_cmp expect.skip -
 | 
						|
'
 | 
						|
 | 
						|
test_expect_success 'index is at version 3 after having some skip-worktree entries' '
 | 
						|
	test "$(test-index-version < .git/index)" = 3
 | 
						|
'
 | 
						|
 | 
						|
test_expect_success 'ls-files -t' '
 | 
						|
	git ls-files -t | test_cmp expect.skip -
 | 
						|
'
 | 
						|
 | 
						|
test_expect_success 'update-index --no-skip-worktree' '
 | 
						|
	git update-index --no-skip-worktree 1 sub/1 &&
 | 
						|
	git ls-files -t | test_cmp expect.full -
 | 
						|
'
 | 
						|
 | 
						|
test_expect_success 'index version is back to 2 when there is no skip-worktree entry' '
 | 
						|
	test "$(test-index-version < .git/index)" = 2
 | 
						|
'
 | 
						|
 | 
						|
test_done
 |