diff options
author | Junio C Hamano <gitster@pobox.com> | 2009-10-18 23:01:22 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-10-18 23:01:22 -0700 |
commit | e38d1c555e56a9b19f69250f22d2965b621a04af (patch) | |
tree | 7a93d05256f28ef374cb4db3283b7fcaed800d1f | |
parent | 03fee47d89fd58c510a9c908fba51d58e1e24360 (diff) | |
parent | b5227d80aee5173bfda6aa43a890d03110b0df26 (diff) | |
download | git-e38d1c555e56a9b19f69250f22d2965b621a04af.tar.gz |
Merge branch 'jk/maint-1.6.3-ls-files-no-ignore-cached'
* jk/maint-1.6.3-ls-files-no-ignore-cached:
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 |