Browse Source

Merge branch 'maint-1.6.4' into maint

* maint-1.6.4:
  ls-files: excludes should not impact tracked files
maint
Junio C Hamano 15 years ago
parent
commit
071b489682
  1. 8
      builtin-ls-files.c
  2. 32
      t/t3003-ls-files-exclude.sh

8
builtin-ls-files.c

@ -170,10 +170,6 @@ static void show_files(struct dir_struct *dir, const char *prefix) @@ -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) @@ -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);

32
t/t3003-ls-files-exclude.sh

@ -0,0 +1,32 @@ @@ -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
Loading…
Cancel
Save