github.com/git-lfs/git-lfs@v2.5.2+incompatible/t/t-fetch-refspec.sh (about) 1 #!/usr/bin/env bash 2 3 . "$(dirname "$0")/testlib.sh" 4 5 begin_test "fetch with good ref" 6 ( 7 set -e 8 9 reponame="fetch-master-branch-required" 10 setup_remote_repo "$reponame" 11 clone_repo "$reponame" "$reponame" 12 13 git lfs track "*.dat" 14 echo "a" > a.dat 15 git add .gitattributes a.dat 16 git commit -m "add a.dat" 17 18 git push origin master 19 20 # $ echo "a" | shasum -a 256 21 oid="87428fc522803d31065e7bce3cf03fe475096631e5e07bbd7a0fde60c4cf25c7" 22 assert_local_object "$oid" 2 23 assert_server_object "$reponame" "$oid" "refs/heads/master" 24 25 rm -rf .git/lfs/objects 26 git lfs fetch --all 27 assert_local_object "$oid" 2 28 ) 29 end_test 30 31 begin_test "fetch with tracked ref" 32 ( 33 set -e 34 35 reponame="fetch-tracked-branch-required" 36 setup_remote_repo "$reponame" 37 clone_repo "$reponame" "$reponame" 38 39 git lfs track "*.dat" 40 echo "a" > a.dat 41 git add .gitattributes a.dat 42 git commit -m "add a.dat" 43 44 git push origin master:tracked 45 46 # $ echo "a" | shasum -a 256 47 oid="87428fc522803d31065e7bce3cf03fe475096631e5e07bbd7a0fde60c4cf25c7" 48 assert_local_object "$oid" 2 49 assert_server_object "$reponame" "$oid" "refs/heads/tracked" 50 51 rm -rf .git/lfs/objects 52 git config push.default upstream 53 git config branch.master.merge refs/heads/tracked 54 git lfs fetch --all 55 assert_local_object "$oid" 2 56 ) 57 end_test 58 59 begin_test "fetch with bad ref" 60 ( 61 set -e 62 63 reponame="fetch-other-branch-required" 64 setup_remote_repo "$reponame" 65 clone_repo "$reponame" "$reponame" 66 67 git lfs track "*.dat" 68 echo "a" > a.dat 69 git add .gitattributes a.dat 70 git commit -m "add a.dat" 71 72 git push origin master:other 73 74 # $ echo "a" | shasum -a 256 75 oid="87428fc522803d31065e7bce3cf03fe475096631e5e07bbd7a0fde60c4cf25c7" 76 assert_local_object "$oid" 2 77 assert_server_object "$reponame" "$oid" "refs/heads/other" 78 79 rm -rf .git/lfs/objects 80 GIT_CURL_VERBOSE=1 git lfs fetch --all 2>&1 | tee fetch.log 81 if [ "0" -eq "${PIPESTATUS[0]}" ]; then 82 echo >&2 "fatal: expected 'git lfs fetch' to fail" 83 exit 1 84 fi 85 86 grep 'Expected ref "refs/heads/other", got "refs/heads/master"' fetch.log 87 ) 88 end_test