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