Merge branch 'maint'
[gitweb.git] / t / t1010-mktree.sh
index 4d9b1383c67d2a736899ca3e52c99608bdb7724c..b946f8768649dd76d8a175877c63d49244e00ffb 100755 (executable)
@@ -10,6 +10,11 @@ test_expect_success setup '
                mkdir "$d" && echo "$d/one" >"$d/one" &&
                git add "$d"
        done &&
+       echo zero >one &&
+       git update-index --add --info-only one &&
+       git write-tree --missing-ok >tree.missing &&
+       git ls-tree $(cat tree.missing) >top.missing &&
+       git ls-tree -r $(cat tree.missing) >all.missing &&
        echo one >one &&
        git add one &&
        git write-tree >tree &&
@@ -48,14 +53,17 @@ test_expect_success 'ls-tree output in wrong order given to mktree (2)' '
        test_cmp tree.withsub actual
 '
 
-test_expect_failure 'mktree reads ls-tree -r output (1)' '
-       git mktree <all >actual &&
-       test_cmp tree actual
+test_expect_success 'allow missing object with --missing' '
+       git mktree --missing <top.missing >actual &&
+       test_cmp tree.missing actual
 '
 
-test_expect_failure 'mktree reads ls-tree -r output (2)' '
-       git mktree <all.withsub >actual &&
-       test_cmp tree.withsub actual
+test_expect_success 'mktree refuses to read ls-tree -r output (1)' '
+       test_must_fail git mktree <all >actual
+'
+
+test_expect_success 'mktree refuses to read ls-tree -r output (2)' '
+       test_must_fail git mktree <all.withsub >actual
 '
 
 test_done