summaryrefslogtreecommitdiff
path: root/builtin-ls-files.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2008-02-16 17:57:06 -0800
committerJunio C Hamano <gitster@pobox.com>2008-02-16 17:57:06 -0800
commit987e315a6b5a5dd224602f09b9dc7c0fe9c7d024 (patch)
treece10af22609413c4316e12335387bcfa0ef1bf9b /builtin-ls-files.c
parent1ae419cb3902e6cc45538a9673539ed5316fcf30 (diff)
parent6831a88ac03759a8133f10ffd52ad235a081a8a3 (diff)
downloadgit-987e315a6b5a5dd224602f09b9dc7c0fe9c7d024.tar.gz
Merge branch 'jc/gitignore-ends-with-slash'
* jc/gitignore-ends-with-slash: gitignore: lazily find dtype gitignore(5): Allow "foo/" in ignore list to match directory "foo"
Diffstat (limited to 'builtin-ls-files.c')
-rw-r--r--builtin-ls-files.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/builtin-ls-files.c b/builtin-ls-files.c
index d56e33e251..dc7eab89b3 100644
--- a/builtin-ls-files.c
+++ b/builtin-ls-files.c
@@ -238,7 +238,8 @@ static void show_files(struct dir_struct *dir, const char *prefix)
if (show_cached | show_stage) {
for (i = 0; i < active_nr; i++) {
struct cache_entry *ce = active_cache[i];
- if (excluded(dir, ce->name) != dir->show_ignored)
+ int dtype = ce_to_dtype(ce);
+ if (excluded(dir, ce->name, &dtype) != dir->show_ignored)
continue;
if (show_unmerged && !ce_stage(ce))
continue;
@@ -252,7 +253,8 @@ static void show_files(struct dir_struct *dir, const char *prefix)
struct cache_entry *ce = active_cache[i];
struct stat st;
int err;
- if (excluded(dir, ce->name) != dir->show_ignored)
+ int dtype = ce_to_dtype(ce);
+ if (excluded(dir, ce->name, &dtype) != dir->show_ignored)
continue;
err = lstat(ce->name, &st);
if (show_deleted && err)