github.com/stffabi/git-lfs@v2.3.5-0.20180214015214-8eeaa8d88902+incompatible/test/test-untrack.sh (about) 1 #!/usr/bin/env bash 2 3 . "test/testlib.sh" 4 5 begin_test "untrack" 6 ( 7 set -e 8 9 # no need to setup a remote repo, since this test doesn't need to push or pull 10 11 reponame="untrack" 12 git init $reponame 13 cd $reponame 14 15 # track *.jpg once 16 git lfs track "*.jpg" | grep "Tracking \"\*.jpg\"" 17 echo "* annex.backend=SHA512E" >> .gitattributes 18 19 git lfs untrack "*.jpg" 20 21 expected="* annex.backend=SHA512E" 22 [ "$expected" = "$(cat .gitattributes)" ] 23 ) 24 end_test 25 26 begin_test "untrack outside git repo" 27 ( 28 set -e 29 30 reponame="outside" 31 mkdir $reponame 32 cd $reponame 33 34 git lfs untrack "*.foo" || { 35 # this fails if it's run outside of a git repo using GIT_LFS_TEST_DIR 36 37 # git itself returns an exit status of 128 38 # $ git show 39 # fatal: Not a git repository (or any of the parent directories): .git 40 # $ echo "$?" 41 # 128 42 43 [ "$?" = "128" ] 44 exit 0 45 } 46 47 if [ -n "$GIT_LFS_TEST_DIR" ]; then 48 echo "GIT_LFS_TEST_DIR should be set outside of any Git repository" 49 exit 1 50 fi 51 ) 52 end_test 53 54 begin_test "untrack removes escape sequences" 55 ( 56 set -e 57 58 reponame="untrack-remove-escape-sequence" 59 git init "$reponame" 60 cd "$reponame" 61 62 git lfs track " " | grep "Tracking \" \"" 63 assert_attributes_count "[[:space:]]" "filter=lfs" 1 64 65 git lfs untrack " " | grep "Untracking \" \"" 66 assert_attributes_count "[[:space:]]" "filter=lfs" 0 67 68 git lfs track "#" | grep "Tracking \"#\"" 69 assert_attributes_count "\\#" "filter=lfs" 1 70 71 git lfs untrack "#" | grep "Untracking \"#\"" 72 assert_attributes_count "\\#" "filter=lfs" 0 73 ) 74 end_test