github.com/saracen/git-lfs@v2.5.2+incompatible/t/t-migrate-fixup.sh (about) 1 #!/usr/bin/env bash 2 3 . "$(dirname "$0")/fixtures/migrate.sh" 4 . "$(dirname "$0")/testlib.sh" 5 6 begin_test "migrate import (--fixup)" 7 ( 8 set -e 9 10 setup_single_local_branch_tracked_corrupt 11 12 txt_oid="$(calc_oid "$(git cat-file -p :a.txt)")" 13 14 git lfs migrate import --everything --fixup --yes 15 16 assert_pointer "refs/heads/master" "a.txt" "$txt_oid" "120" 17 assert_local_object "$txt_oid" "120" 18 19 master="$(git rev-parse refs/heads/master)" 20 master_attrs="$(git cat-file -p "$master:.gitattributes")" 21 echo "$master_attrs" | grep -q "*.txt filter=lfs diff=lfs merge=lfs" 22 ) 23 end_test 24 25 begin_test "migrate import (--fixup, complex nested)" 26 ( 27 set -e 28 29 setup_single_local_branch_complex_tracked 30 31 a_oid="$(calc_oid "$(git cat-file -p :a.txt)")" 32 b_oid="$(calc_oid "$(git cat-file -p :dir/b.txt)")" 33 34 git lfs migrate import --everything --fixup --yes 35 36 assert_pointer "refs/heads/master" "a.txt" "$a_oid" "1" 37 refute_pointer "refs/heads/master" "b.txt" 38 39 assert_local_object "$a_oid" "1" 40 refute_local_object "$b_oid" "1" 41 42 master="$(git rev-parse refs/heads/master)" 43 master_attrs="$(git cat-file -p "$master:.gitattributes")" 44 master_dir_attrs="$(git cat-file -p "$master:dir/.gitattributes")" 45 echo "$master_attrs" | grep -q "*.txt filter=lfs diff=lfs merge=lfs" 46 echo "$master_dir_attrs" | grep -q "*.txt !filter !diff !merge" 47 ) 48 end_test 49 50 begin_test "migrate import (--fixup, --include)" 51 ( 52 set -e 53 54 setup_single_local_branch_tracked_corrupt 55 56 git lfs migrate import --everything --fixup --yes --include="*.txt" 2>&1 \ 57 | tee migrate.log 58 59 if [ "${PIPESTATUS[0]}" -eq 0 ]; then 60 echo >&2 "fatal: expected 'git lfs migrate ...' to fail, didn't ..." 61 exit 1 62 fi 63 64 grep -q "fatal: cannot use --fixup with --include, --exclude" migrate.log 65 ) 66 end_test 67 68 begin_test "migrate import (--fixup, --exclude)" 69 ( 70 set -e 71 72 setup_single_local_branch_tracked_corrupt 73 74 git lfs migrate import --everything --fixup --yes --exclude="*.txt" 2>&1 \ 75 | tee migrate.log 76 77 if [ "${PIPESTATUS[0]}" -eq 0 ]; then 78 echo >&2 "fatal: expected 'git lfs migrate ...' to fail, didn't ..." 79 exit 1 80 fi 81 82 grep -q "fatal: cannot use --fixup with --include, --exclude" migrate.log 83 ) 84 end_test 85 86 begin_test "migrate import (--fixup, --no-rewrite)" 87 ( 88 set -e 89 90 setup_single_local_branch_tracked_corrupt 91 92 git lfs migrate import --everything --fixup --yes --no-rewrite 2>&1 \ 93 | tee migrate.log 94 95 if [ "${PIPESTATUS[0]}" -eq 0 ]; then 96 echo >&2 "fatal: expected 'git lfs migrate ...' to fail, didn't ..." 97 exit 1 98 fi 99 100 grep -q "fatal: --no-rewrite and --fixup cannot be combined" migrate.log 101 ) 102 end_test