Add tests for wildcard "path vs ref" disambiguation
Commit 28fcc0b (pathspec: avoid the need of "--" when wildcard is used -
2015-05-02) changes how the disambiguation rules work. This patch adds
some tests to demonstrate, basically, if wildcard characters are in an
argument:
 - if the argument is valid extended sha-1 syntax, "--" must be used
 - otherwise the argument is considered a path, even without "--"
And wildcard can appear in extended sha-1 syntax, either as part of
regex in ":/<regex>" or as the literal path in ":<path>". The latter
case is less likely to happen in real world. But if you do ":/" a lot,
you may need to type "--" more.
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
			
			
				maint
			
			
		
							parent
							
								
									28fcc0b71a
								
							
						
					
					
						commit
						ae454f6125
					
				|  | @ -56,4 +56,30 @@ test_expect_success VAGUENESS_SUCCESS 'checkout reports switch to branch' ' | |||
| 	test_i18ngrep ! "^HEAD is now at" stderr | ||||
| ' | ||||
|  | ||||
| test_expect_success 'wildcard ambiguation, paths win' ' | ||||
| 	git init ambi && | ||||
| 	( | ||||
| 		cd ambi && | ||||
| 		echo a >a.c && | ||||
| 		git add a.c && | ||||
| 		echo b >a.c && | ||||
| 		git checkout "*.c" && | ||||
| 		echo a >expect && | ||||
| 		test_cmp expect a.c | ||||
| 	) | ||||
| ' | ||||
|  | ||||
| test_expect_success 'wildcard ambiguation, refs lose' ' | ||||
| 	git init ambi2 && | ||||
| 	( | ||||
| 		cd ambi2 && | ||||
| 		echo a >"*.c" && | ||||
| 		git add . && | ||||
| 		test_must_fail git show :"*.c" && | ||||
| 		git show :"*.c" -- >actual && | ||||
| 		echo a >expect && | ||||
| 		test_cmp expect actual | ||||
| 	) | ||||
| ' | ||||
|  | ||||
| test_done | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Nguyễn Thái Ngọc Duy
						Nguyễn Thái Ngọc Duy