submodule update: add regression test with old style setups
[gitweb.git] / t / t6501-freshen-objects.sh
index cf076dcd940aa0d74bd8df03b4f6c768e1954455..033871ee5f35c1a143aec6d2b30c5116bf3f94f5 100755 (executable)
@@ -72,8 +72,7 @@ for repack in '' true; do
        '
 
        test_expect_success "simulate time passing ($title)" '
-               find .git/objects -type f |
-               xargs test-chmtime -v -86400
+               test-tool chmtime --get -86400 $(find .git/objects -type f)
        '
 
        test_expect_success "start writing new commit with old blob ($title)" '
@@ -103,8 +102,7 @@ for repack in '' true; do
 
        test_expect_success "abandon objects again ($title)" '
                git reset --hard HEAD^ &&
-               find .git/objects -type f |
-               xargs test-chmtime -v -86400
+               test-tool chmtime --get -86400 $(find .git/objects -type f)
        '
 
        test_expect_success "start writing new commit with same tree ($title)" '
@@ -129,7 +127,7 @@ for repack in '' true; do
        '
 done
 
-test_expect_success 'do not complain about existing broken links' '
+test_expect_success 'do not complain about existing broken links (commit)' '
        cat >broken-commit <<-\EOF &&
        tree 0000000000000000000000000000000000000001
        parent 0000000000000000000000000000000000000002
@@ -144,4 +142,29 @@ test_expect_success 'do not complain about existing broken links' '
        test_must_be_empty stderr
 '
 
+test_expect_success 'do not complain about existing broken links (tree)' '
+       cat >broken-tree <<-\EOF &&
+       100644 blob 0000000000000000000000000000000000000003    foo
+       EOF
+       tree=$(git mktree --missing <broken-tree) &&
+       git gc 2>stderr &&
+       git cat-file -e $tree &&
+       test_must_be_empty stderr
+'
+
+test_expect_success 'do not complain about existing broken links (tag)' '
+       cat >broken-tag <<-\EOF &&
+       object 0000000000000000000000000000000000000004
+       type commit
+       tag broken
+       tagger whatever <whatever@example.com> 1234 -0000
+
+       this is a broken tag
+       EOF
+       tag=$(git hash-object -t tag -w broken-tag) &&
+       git gc 2>stderr &&
+       git cat-file -e $tag &&
+       test_must_be_empty stderr
+'
+
 test_done