You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
#!/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
|
|
|
|
|
ls-files: unbreak "ls-files -i"
Commit b5227d8 changed the behavior of "ls-files" with
respect to includes, but accidentally broke the "-i" option
The original behavior was:
1. if no "-i" is given, cull all results according to --exclude*
2. if "-i" is given, show the inverse of (1)
The broken behavior was:
1. if no "-i" is given:
a. for "-o", cull results according to --exclude*
b. for index files, always show all
2. if "-i" is given:
a. for "-o", shows the inverse of (1a)
b. for index files, always show all
The fixed behavior keeps the new (1b) behavior introduced
by b5227d8, but fixes the (2b) behavior to show only ignored
files, not all files.
This patch also tweaks the documentation. The original text
was somewhat obscure in the first place, but it is also now
inaccurate (the relationship between (1b) and (2b) is not
quite a "reverse").
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
15 years ago
|
|
|
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
|