| #!/bin/sh |
| |
| test_description='ls-files --exclude does not affect index files' |
| |
| TEST_PASSES_SANITIZE_LEAK=true |
| . ./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 -c lists only tracked-but-ignored files' ' |
| echo content >other-file && |
| git add other-file && |
| echo file >expect && |
| git ls-files -i -c --exclude-standard >output && |
| test_cmp expect output |
| ' |
| |
| test_done |