Merge branch 'jk/maint-1.6.3-ls-files-i'

* jk/maint-1.6.3-ls-files-i:
  ls-files: unbreak "ls-files -i"
maint
Junio C Hamano 2009-11-10 12:33:28 -08:00
commit 92396402e2
3 changed files with 20 additions and 2 deletions

View File

@ -48,8 +48,10 @@ OPTIONS

-i::
--ignored::
Show ignored files in the output.
Note that this also reverses any exclude list present.
Show only ignored files in the output. When showing files in the
index, print only those matched by an exclude pattern. When
showing "other" files, show only those matched by an exclude
pattern.

-s::
--stage::

View File

@ -170,6 +170,10 @@ 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 (dir->flags & DIR_SHOW_IGNORED &&
!excluded(dir, ce->name, &dtype))
continue;
if (show_unmerged && !ce_stage(ce))
continue;
if (ce->ce_flags & CE_UPDATE)
@ -182,6 +186,10 @@ 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 (dir->flags & DIR_SHOW_IGNORED &&
!excluded(dir, ce->name, &dtype))
continue;
if (ce->ce_flags & CE_UPDATE)
continue;
err = lstat(ce->name, &st);

View File

@ -29,4 +29,12 @@ test_expect_success 'add file to gitignore' '
'
check_all_output

test_expect_success 'ls-files -i lists only tracked-but-ignored files' '
echo content >other-file &&
git add other-file &&
echo file >expect &&
git ls-files -i --exclude-standard >output &&
test_cmp expect output
'

test_done