Merge branch 'jc/ls-files-o'
* jc/ls-files-o: ls-files: honour per-directory ignore file from higher directories.
This commit is contained in:
commit
4dc870d90c
22
ls-files.c
22
ls-files.c
@ -474,8 +474,28 @@ static void show_files(void)
|
||||
const char *path = ".", *base = "";
|
||||
int baselen = prefix_len;
|
||||
|
||||
if (baselen)
|
||||
if (baselen) {
|
||||
path = base = prefix;
|
||||
if (exclude_per_dir) {
|
||||
char *p, *pp = xmalloc(baselen+1);
|
||||
memcpy(pp, prefix, baselen+1);
|
||||
p = pp;
|
||||
while (1) {
|
||||
char save = *p;
|
||||
*p = 0;
|
||||
push_exclude_per_directory(pp, p-pp);
|
||||
*p++ = save;
|
||||
if (!save)
|
||||
break;
|
||||
p = strchr(p, '/');
|
||||
if (p)
|
||||
p++;
|
||||
else
|
||||
p = pp + baselen;
|
||||
}
|
||||
free(pp);
|
||||
}
|
||||
}
|
||||
read_directory(path, base, baselen);
|
||||
qsort(dir, nr_dir, sizeof(struct nond_on_fs *), cmp_name);
|
||||
if (show_others)
|
||||
|
Loading…
Reference in New Issue
Block a user