diff options
author | Junio C Hamano <gitster@pobox.com> | 2009-10-26 01:34:41 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-10-26 01:34:41 +0300 |
commit | 071b489682f68c5e205ed3af2a7fe997f1d7c467 (patch) | |
tree | d4c23836931ae859a95e1c62246a1618ae0338df | |
parent | 3319df6f3aa3271124847e2c91c7e6d0be961bc6 (diff) | |
parent | caa7dac163f7f7fc827da6fd4a5aba259a50e1ab (diff) |
Merge branch 'maint-1.6.4' into maint
* maint-1.6.4:
ls-files: excludes should not impact tracked files
-rw-r--r-- | builtin-ls-files.c | 8 | ||||
-rwxr-xr-x | t/t3003-ls-files-exclude.sh | 32 |
2 files changed, 32 insertions, 8 deletions
diff --git a/builtin-ls-files.c b/builtin-ls-files.c index 2c95ca6105..c5c0407b0b 100644 --- a/builtin-ls-files.c +++ b/builtin-ls-files.c @@ -170,10 +170,6 @@ 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]; - int dtype = ce_to_dtype(ce); - if (excluded(dir, ce->name, &dtype) != - !!(dir->flags & DIR_SHOW_IGNORED)) - continue; if (show_unmerged && !ce_stage(ce)) continue; if (ce->ce_flags & CE_UPDATE) @@ -186,10 +182,6 @@ static void show_files(struct dir_struct *dir, const char *prefix) struct cache_entry *ce = active_cache[i]; struct stat st; int err; - int dtype = ce_to_dtype(ce); - if (excluded(dir, ce->name, &dtype) != - !!(dir->flags & DIR_SHOW_IGNORED)) - continue; if (ce->ce_flags & CE_UPDATE) continue; err = lstat(ce->name, &st); diff --git a/t/t3003-ls-files-exclude.sh b/t/t3003-ls-files-exclude.sh new file mode 100755 index 0000000000..fc1e379321 --- /dev/null +++ b/t/t3003-ls-files-exclude.sh @@ -0,0 +1,32 @@ +#!/bin/sh + +test_description='ls-files --exclude does not affect index files' +. ./test-lib.sh + +test_expect_success 'create repo with file' ' + echo content >file && + git add file && + git commit -m file && + echo modification >file +' + +check_output() { +test_expect_success "ls-files output contains file ($1)" " + echo '$2' >expect && + git ls-files --exclude-standard --$1 >output && + test_cmp expect output +" +} + +check_all_output() { + check_output 'cached' 'file' + check_output 'modified' 'file' +} + +check_all_output +test_expect_success 'add file to gitignore' ' + echo file >.gitignore +' +check_all_output + +test_done |