#!/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_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