echo content >file &&
        git add file &&
        git rev-parse :file >expect &&
-       test_must_fail git update-index --cacheinfo 100644 $_z40 file &&
+       test_must_fail git update-index --cacheinfo 100644 $ZERO_OID file &&
        git rev-parse :file >actual &&
        test_cmp expect actual
 '
        (cd submodule && test_commit foo) &&
        git add submodule &&
        git rev-parse :submodule >expect &&
-       test_must_fail git update-index --cacheinfo 160000 $_z40 submodule &&
+       test_must_fail git update-index --cacheinfo 160000 $ZERO_OID submodule &&
        git rev-parse :submodule >actual &&
        test_cmp expect actual
 '
        )
 '
 
+test_expect_success '--chmod=+x and chmod=-x in the same argument list' '
+       >A &&
+       >B &&
+       git add A B &&
+       git update-index --chmod=+x A --chmod=-x B &&
+       cat >expect <<-EOF &&
+       100755 $EMPTY_BLOB 0    A
+       100644 $EMPTY_BLOB 0    B
+       EOF
+       git ls-files --stage A B >actual &&
+       test_cmp expect actual
+'
+
 test_done