Browse Source

t3001: test ls-files -o ignored/dir

When you have "t" directory that is marked as ignored in the top-level
.gitignore file (or $GIT_DIR/info/exclude), running

    $ git ls-files -o --exclude-standard

from the top-level correctly excludes files in "t" directory, but
any of the following:

    $ git ls-files -o --exclude-standard t/
    $ cd t && git ls-files -o --exclude-standard

would show untracked files in that directory.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Junio C Hamano 15 years ago
parent
commit
472e746991
  1. 39
      t/t3001-ls-files-others-exclude.sh

39
t/t3001-ls-files-others-exclude.sh

@ -153,4 +153,43 @@ test_expect_success 'negated exclude matches can override previous ones' ' @@ -153,4 +153,43 @@ test_expect_success 'negated exclude matches can override previous ones' '
grep "^a.1" output
'

test_expect_success 'subdirectory ignore (setup)' '
mkdir -p top/l1/l2 &&
(
cd top &&
git init &&
echo /.gitignore >.gitignore &&
echo l1 >>.gitignore &&
echo l2 >l1/.gitignore &&
>l1/l2/l1
)
'

test_expect_success 'subdirectory ignore (toplevel)' '
(
cd top &&
git ls-files -o --exclude-standard
) >actual &&
>expect &&
test_cmp expect actual
'

test_expect_success 'subdirectory ignore (l1/l2)' '
(
cd top/l1/l2 &&
git ls-files -o --exclude-standard
) >actual &&
>expect &&
test_cmp expect actual
'

test_expect_failure 'subdirectory ignore (l1)' '
(
cd top/l1 &&
git ls-files -o --exclude-standard
) >actual &&
>expect &&
test_cmp expect actual
'

test_done

Loading…
Cancel
Save