Merge branch 'jc/attr'
* jc/attr: Add 'filter' attribute and external filter driver definition. Add 'ident' conversion.
This commit is contained in:
48
t/t0021-conversion.sh
Executable file
48
t/t0021-conversion.sh
Executable file
@ -0,0 +1,48 @@
|
||||
#!/bin/sh
|
||||
|
||||
test_description='blob conversion via gitattributes'
|
||||
|
||||
. ./test-lib.sh
|
||||
|
||||
cat <<\EOF >rot13.sh
|
||||
tr '[a-zA-Z]' '[n-za-mN-ZA-M]'
|
||||
EOF
|
||||
chmod +x rot13.sh
|
||||
|
||||
test_expect_success setup '
|
||||
git config filter.rot13.smudge ./rot13.sh &&
|
||||
git config filter.rot13.clean ./rot13.sh &&
|
||||
|
||||
{
|
||||
echo "*.t filter=rot13"
|
||||
echo "*.i ident"
|
||||
} >.gitattributes &&
|
||||
|
||||
{
|
||||
echo a b c d e f g h i j k l m
|
||||
echo n o p q r s t u v w x y z
|
||||
echo '\''$ident$'\''
|
||||
} >test &&
|
||||
cat test >test.t &&
|
||||
cat test >test.o &&
|
||||
cat test >test.i &&
|
||||
git add test test.t test.i &&
|
||||
rm -f test test.t test.i &&
|
||||
git checkout -- test test.t test.i
|
||||
'
|
||||
|
||||
script='s/^\$ident: \([0-9a-f]*\) \$/\1/p'
|
||||
|
||||
test_expect_success check '
|
||||
|
||||
cmp test.o test &&
|
||||
cmp test.o test.t &&
|
||||
|
||||
# ident should be stripped in the repository
|
||||
git diff --raw --exit-code :test :test.i &&
|
||||
id=$(git rev-parse --verify :test) &&
|
||||
embedded=$(sed -ne "$script" test.i) &&
|
||||
test "z$id" = "z$embedded"
|
||||
'
|
||||
|
||||
test_done
|
Reference in New Issue
Block a user