 854b09592c
			
		
	
	854b09592c
	
	
	
		
			
			A long time ago, for some reason I was not happy with match_pathspec(). I created a better version, match_pathspec_depth() that was suppose to replace match_pathspec() eventually. match_pathspec() has finally been gone since 6 months ago. Use the shorter name for match_pathspec_depth(). Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
		
			
				
	
	
		
			110 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			110 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| test_description='test case insensitive pathspec limiting'
 | |
| . ./test-lib.sh
 | |
| 
 | |
| if test_have_prereq CASE_INSENSITIVE_FS
 | |
| then
 | |
| 	skip_all='skipping case sensitive tests - case insensitive file system'
 | |
| 	test_done
 | |
| fi
 | |
| 
 | |
| test_expect_success 'create commits with glob characters' '
 | |
| 	test_commit bar bar &&
 | |
| 	test_commit bAr bAr &&
 | |
| 	test_commit BAR BAR &&
 | |
| 	mkdir foo &&
 | |
| 	test_commit foo/bar foo/bar &&
 | |
| 	test_commit foo/bAr foo/bAr &&
 | |
| 	test_commit foo/BAR foo/BAR &&
 | |
| 	mkdir fOo &&
 | |
| 	test_commit fOo/bar fOo/bar &&
 | |
| 	test_commit fOo/bAr fOo/bAr &&
 | |
| 	test_commit fOo/BAR fOo/BAR &&
 | |
| 	mkdir FOO &&
 | |
| 	test_commit FOO/bar FOO/bar &&
 | |
| 	test_commit FOO/bAr FOO/bAr &&
 | |
| 	test_commit FOO/BAR FOO/BAR
 | |
| '
 | |
| 
 | |
| test_expect_success 'tree_entry_interesting matches bar' '
 | |
| 	echo bar >expect &&
 | |
| 	git log --format=%s -- "bar" >actual &&
 | |
| 	test_cmp expect actual
 | |
| '
 | |
| 
 | |
| test_expect_success 'tree_entry_interesting matches :(icase)bar' '
 | |
| 	cat <<-EOF >expect &&
 | |
| 	BAR
 | |
| 	bAr
 | |
| 	bar
 | |
| 	EOF
 | |
| 	git log --format=%s -- ":(icase)bar" >actual &&
 | |
| 	test_cmp expect actual
 | |
| '
 | |
| 
 | |
| test_expect_success 'tree_entry_interesting matches :(icase)bar with prefix' '
 | |
| 	cat <<-EOF >expect &&
 | |
| 	fOo/BAR
 | |
| 	fOo/bAr
 | |
| 	fOo/bar
 | |
| 	EOF
 | |
| 	( cd fOo && git log --format=%s -- ":(icase)bar" ) >actual &&
 | |
| 	test_cmp expect actual
 | |
| '
 | |
| 
 | |
| test_expect_success 'tree_entry_interesting matches :(icase)bar with empty prefix' '
 | |
| 	cat <<-EOF >expect &&
 | |
| 	FOO/BAR
 | |
| 	FOO/bAr
 | |
| 	FOO/bar
 | |
| 	fOo/BAR
 | |
| 	fOo/bAr
 | |
| 	fOo/bar
 | |
| 	foo/BAR
 | |
| 	foo/bAr
 | |
| 	foo/bar
 | |
| 	EOF
 | |
| 	( cd fOo && git log --format=%s -- ":(icase)../foo/bar" ) >actual &&
 | |
| 	test_cmp expect actual
 | |
| '
 | |
| 
 | |
| test_expect_success 'match_pathspec matches :(icase)bar' '
 | |
| 	cat <<-EOF >expect &&
 | |
| 	BAR
 | |
| 	bAr
 | |
| 	bar
 | |
| 	EOF
 | |
| 	git ls-files ":(icase)bar" >actual &&
 | |
| 	test_cmp expect actual
 | |
| '
 | |
| 
 | |
| test_expect_success 'match_pathspec matches :(icase)bar with prefix' '
 | |
| 	cat <<-EOF >expect &&
 | |
| 	fOo/BAR
 | |
| 	fOo/bAr
 | |
| 	fOo/bar
 | |
| 	EOF
 | |
| 	( cd fOo && git ls-files --full-name ":(icase)bar" ) >actual &&
 | |
| 	test_cmp expect actual
 | |
| '
 | |
| 
 | |
| test_expect_success 'match_pathspec matches :(icase)bar with empty prefix' '
 | |
| 	cat <<-EOF >expect &&
 | |
| 	bar
 | |
| 	fOo/BAR
 | |
| 	fOo/bAr
 | |
| 	fOo/bar
 | |
| 	EOF
 | |
| 	( cd fOo && git ls-files --full-name ":(icase)bar" ../bar ) >actual &&
 | |
| 	test_cmp expect actual
 | |
| '
 | |
| 
 | |
| test_expect_success '"git diff" can take magic :(icase) pathspec' '
 | |
| 	echo FOO/BAR >expect &&
 | |
| 	git diff --name-only HEAD^ HEAD -- ":(icase)foo/bar" >actual &&
 | |
| 	test_cmp expect actual
 | |
| '
 | |
| 
 | |
| test_done
 |