Raw
1 #!/bin/sh
2
3 test_description='test git ls-files --others with non-submodule repositories
4
5 This test runs git ls-files --others with the following working tree:
6
7 nonrepo-no-files/
8 plain directory with no files
9 nonrepo-untracked-file/
10 plain directory with an untracked file
11 repo-no-commit-no-files/
12 git repository without a commit or a file
13 repo-no-commit-untracked-file/
14 git repository without a commit but with an untracked file
15 repo-with-commit-no-files/
16 git repository with a commit and no untracked files
17 repo-with-commit-untracked-file/
18 git repository with a commit and an untracked file
19 '
20
21 . ./test-lib.sh
22
23 test_expect_success 'setup: directories' '
24 mkdir nonrepo-no-files/ &&
25 mkdir nonrepo-untracked-file &&
26 : >nonrepo-untracked-file/untracked &&
27 git init repo-no-commit-no-files &&
28 git init repo-no-commit-untracked-file &&
29 : >repo-no-commit-untracked-file/untracked &&
30 git init repo-with-commit-no-files &&
31 git -C repo-with-commit-no-files commit --allow-empty -mmsg &&
32 git init repo-with-commit-untracked-file &&
33 test_commit -C repo-with-commit-untracked-file msg &&
34 : >repo-with-commit-untracked-file/untracked
35 '
36
37 test_expect_success 'ls-files --others handles untracked git repositories' '
38 git ls-files -o >output &&
39 test_filter_gitconfig output &&
40 cat >expect <<-EOF &&
41 nonrepo-untracked-file/untracked
42 output
43 repo-no-commit-no-files/
44 repo-no-commit-untracked-file/
45 repo-with-commit-no-files/
46 repo-with-commit-untracked-file/
47 EOF
48 test_cmp expect output
49 '
50
51 test_done