dir: exit before wildcard fall-through if there is no wildcard
The DO_MATCH_LEADING_PATHSPEC had a fall-through case for if there was a wildcard, noting that we don't yet have enough information to determine if a further paths under the current directory might match due to the presence of wildcards. But if we have no wildcards in our pathspec, then we shouldn't get to that fall-through case. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
							parent
							
								
									2f5d3847d4
								
							
						
					
					
						commit
						072a231016
					
				
							
								
								
									
										7
									
								
								dir.c
								
								
								
								
							
							
						
						
									
										7
									
								
								dir.c
								
								
								
								
							|  | @ -379,6 +379,13 @@ static int match_pathspec_item(const struct index_state *istate, | ||||||
| 			       item->nowildcard_len - prefix)) | 			       item->nowildcard_len - prefix)) | ||||||
| 			return 0; | 			return 0; | ||||||
|  |  | ||||||
|  | 		/* | ||||||
|  | 		 * name has no wildcard, and it didn't match as a leading | ||||||
|  | 		 * pathspec so return. | ||||||
|  | 		 */ | ||||||
|  | 		if (item->nowildcard_len == item->len) | ||||||
|  | 			return 0; | ||||||
|  |  | ||||||
| 		/* | 		/* | ||||||
| 		 * Here is where we would perform a wildmatch to check if | 		 * Here is where we would perform a wildmatch to check if | ||||||
| 		 * "name" can be matched as a directory (or a prefix) against | 		 * "name" can be matched as a directory (or a prefix) against | ||||||
|  |  | ||||||
|  | @ -92,7 +92,7 @@ test_expect_failure 'git ls-files -o untracked_repo/ does not recurse' ' | ||||||
| 	test_cmp expect actual | 	test_cmp expect actual | ||||||
| ' | ' | ||||||
|  |  | ||||||
| test_expect_failure 'git ls-files -o untracked_dir untracked_repo recurses into untracked_dir only' ' | test_expect_success 'git ls-files -o untracked_dir untracked_repo recurses into untracked_dir only' ' | ||||||
| 	cat <<-EOF >expect && | 	cat <<-EOF >expect && | ||||||
| 	untracked_dir/empty | 	untracked_dir/empty | ||||||
| 	untracked_repo/ | 	untracked_repo/ | ||||||
|  | @ -110,7 +110,7 @@ test_expect_success 'git ls-files -o untracked_dir/ untracked_repo/ recurses int | ||||||
| 	test_cmp expect actual | 	test_cmp expect actual | ||||||
| ' | ' | ||||||
|  |  | ||||||
| test_expect_failure 'git ls-files -o --directory untracked_dir untracked_repo does not recurse' ' | test_expect_success 'git ls-files -o --directory untracked_dir untracked_repo does not recurse' ' | ||||||
| 	cat <<-EOF >expect && | 	cat <<-EOF >expect && | ||||||
| 	untracked_dir/ | 	untracked_dir/ | ||||||
| 	untracked_repo/ | 	untracked_repo/ | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Elijah Newren
						Elijah Newren