Teach '--cached' option to check-attr

This option causes check-attr to consider .gitattributes only from
the index, ignoring .gitattributes from the working tree. This allows
the command to be used in situations where a working tree does not exist.

Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jay Soffian
2011-09-22 17:44:20 -04:00
committed by Junio C Hamano
parent 167a5800cb
commit b2b3e9c2d6
3 changed files with 29 additions and 4 deletions

View File

@ -134,10 +134,20 @@ test_expect_success 'attribute test: read paths from stdin' '
test_expect_success 'attribute test: --all option' '
grep -v unspecified < expect-all | sort > expect &&
sed -e "s/:.*//" < expect-all | uniq |
git check-attr --stdin --all | sort > actual &&
test_cmp expect actual
grep -v unspecified <expect-all | sort >specified-all &&
sed -e "s/:.*//" <expect-all | uniq >stdin-all &&
git check-attr --stdin --all <stdin-all | sort >actual &&
test_cmp specified-all actual
'
test_expect_success 'attribute test: --cached option' '
: >empty &&
git check-attr --cached --stdin --all <stdin-all | sort >actual &&
test_cmp empty actual &&
git add .gitattributes a/.gitattributes a/b/.gitattributes &&
git check-attr --cached --stdin --all <stdin-all | sort >actual &&
test_cmp specified-all actual
'
test_expect_success 'root subdir attribute test' '
@ -168,6 +178,13 @@ test_expect_success 'bare repository: check that .gitattribute is ignored' '
'
test_expect_success 'bare repository: check that --cached honors index' '
GIT_INDEX_FILE=../.git/index \
git check-attr --cached --stdin --all <../stdin-all |
sort >actual &&
test_cmp ../specified-all actual
'
test_expect_success 'bare repository: test info/attributes' '
(