ls-files --error-unmatch: do not barf if the same pattern is given twice.
This is most visible when you do "git commit Makefile Makefile"; it may be a stupid request, but that is not a reason to fail the command. Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
9656153b87
commit
93e23fea2d
@ -511,8 +511,28 @@ int cmd_ls_files(int argc, const char **argv, const char *prefix)
|
||||
*/
|
||||
int num, errors = 0;
|
||||
for (num = 0; pathspec[num]; num++) {
|
||||
int other, found_dup;
|
||||
|
||||
if (ps_matched[num])
|
||||
continue;
|
||||
/*
|
||||
* The caller might have fed identical pathspec
|
||||
* twice. Do not barf on such a mistake.
|
||||
*/
|
||||
for (found_dup = other = 0;
|
||||
!found_dup && pathspec[other];
|
||||
other++) {
|
||||
if (other == num || !ps_matched[other])
|
||||
continue;
|
||||
if (!strcmp(pathspec[other], pathspec[num]))
|
||||
/*
|
||||
* Ok, we have a match already.
|
||||
*/
|
||||
found_dup = 1;
|
||||
}
|
||||
if (found_dup)
|
||||
continue;
|
||||
|
||||
error("pathspec '%s' did not match any file(s) known to git.",
|
||||
pathspec[num] + prefix_offset);
|
||||
errors++;
|
||||
|
Loading…
Reference in New Issue
Block a user