3 . "$(dirname "$0")/fixtures/migrate.sh"
4 . "$(dirname "$0")/testlib.sh"
6 begin_test "migrate import (--fixup)"
10 setup_single_local_branch_tracked_corrupt
12 txt_oid="$(calc_oid "$(git cat-file -p :a.txt)")"
14 git lfs migrate import --everything --fixup --yes
16 assert_pointer "refs/heads/master" "a.txt" "$txt_oid" "120"
17 assert_local_object "$txt_oid" "120"
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"
25 begin_test "migrate import (--fixup, complex nested)"
29 setup_single_local_branch_complex_tracked
31 a_oid="$(calc_oid "$(git cat-file -p :a.txt)")"
32 b_oid="$(calc_oid "$(git cat-file -p :dir/b.txt)")"
34 git lfs migrate import --everything --fixup --yes
36 assert_pointer "refs/heads/master" "a.txt" "$a_oid" "1"
37 refute_pointer "refs/heads/master" "b.txt"
39 assert_local_object "$a_oid" "1"
40 refute_local_object "$b_oid" "1"
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"
50 begin_test "migrate import (--fixup, --include)"
54 setup_single_local_branch_tracked_corrupt
56 git lfs migrate import --everything --fixup --yes --include="*.txt" 2>&1 \
59 if [ "${PIPESTATUS[0]}" -eq 0 ]; then
60 echo >&2 "fatal: expected 'git lfs migrate ...' to fail, didn't ..."
64 grep -q "fatal: cannot use --fixup with --include, --exclude" migrate.log
68 begin_test "migrate import (--fixup, --exclude)"
72 setup_single_local_branch_tracked_corrupt
74 git lfs migrate import --everything --fixup --yes --exclude="*.txt" 2>&1 \
77 if [ "${PIPESTATUS[0]}" -eq 0 ]; then
78 echo >&2 "fatal: expected 'git lfs migrate ...' to fail, didn't ..."
82 grep -q "fatal: cannot use --fixup with --include, --exclude" migrate.log
86 begin_test "migrate import (--fixup, --no-rewrite)"
90 setup_single_local_branch_tracked_corrupt
92 git lfs migrate import --everything --fixup --yes --no-rewrite 2>&1 \
95 if [ "${PIPESTATUS[0]}" -eq 0 ]; then
96 echo >&2 "fatal: expected 'git lfs migrate ...' to fail, didn't ..."
100 grep -q "fatal: --no-rewrite and --fixup cannot be combined" migrate.log