#!/bin/sh test_description='basic ls-files tests This test runs git ls-files with various unusual or malformed command-line arguments. ' . ./test-lib.sh >empty test_expect_success 'ls-files in empty repository' ' git ls-files >actual && test_cmp empty actual ' test_expect_success 'ls-files with nonexistent path' ' git ls-files doesnotexist >actual && test_cmp empty actual ' test_expect_success 'ls-files with nonsense option' ' test_expect_code 129 git ls-files --nonsense 2>actual && test_i18ngrep "[Uu]sage: git ls-files" actual ' test_expect_success 'ls-files -h in corrupt repository' ' mkdir broken && ( cd broken && git init && >.git/index && test_expect_code 129 git ls-files -h >usage 2>&1 ) && test_i18ngrep "[Uu]sage: git ls-files " broken/usage ' test_expect_success SYMLINKS 'ls-files with absolute paths to symlinks' ' mkdir subs && ln -s nosuch link && ln -s ../nosuch subs/link && git add link subs/link && git ls-files -s link subs/link >expect && git ls-files -s "$(pwd)/link" "$(pwd)/subs/link" >actual && test_cmp expect actual && ( cd subs && git ls-files -s link >../expect && git ls-files -s "$(pwd)/link" >../actual ) && test_cmp expect actual ' test_done