1#!/bin/sh 2 3test_description='blob conversion via gitattributes' 4 5. ./test-lib.sh 6 7cat<<\EOF >rot13.sh 8tr'[a-zA-Z]''[n-za-mN-ZA-M]' 9EOF 10chmod+x rot13.sh 11 12test_expect_success setup ' 13 git config filter.rot13.smudge ./rot13.sh && 14 git config filter.rot13.clean ./rot13.sh && 15 16 { 17 echo "*.t filter=rot13" 18 echo "*.i ident" 19 } >.gitattributes && 20 21 { 22 echo a b c d e f g h i j k l m 23 echo n o p q r s t u v w x y z 24 echo '\''$Id$'\'' 25 } >test && 26 cat test >test.t && 27 cat test >test.o && 28 cat test >test.i && 29 git add test test.t test.i && 30 rm -f test test.t test.i && 31 git checkout -- test test.t test.i 32' 33 34script='s/^\$Id: \([0-9a-f]*\) \$/\1/p' 35 36test_expect_success check ' 37 38 cmp test.o test && 39 cmp test.o test.t && 40 41 # ident should be stripped in the repository 42 git diff --raw --exit-code :test :test.i && 43 id=$(git rev-parse --verify :test)&& 44 embedded=$(sed -ne "$script" test.i)&& 45 test "z$id" = "z$embedded" 46' 47 48test_done