ref_transaction_commit(): fix atomicity and avoid fd exhaustion
[gitweb.git] / t / t6000-rev-list-misc.sh
index 97a13a574e09edb7b70782e357d5b1231747e053..3e752ce03280ff694fedb6657fe2ed334127f253 100755 (executable)
@@ -42,7 +42,7 @@ test_expect_success 'rev-list --objects with pathspecs and copied files' '
        test_tick &&
        git commit -m that &&
 
-       ONE=$(git rev-parse HEAD:one)
+       ONE=$(git rev-parse HEAD:one) &&
        git rev-list --objects HEAD two >output &&
        grep "$ONE two/three" output &&
        ! grep one output
@@ -73,6 +73,29 @@ test_expect_success 'symleft flag bit is propagated down from tag' '
        test_cmp expect actual
 '
 
+test_expect_success 'rev-list can show index objects' '
+       # Of the blobs and trees in the index, note:
+       #
+       #   - we do not show two/three, because it is the
+       #     same blob as "one", and we show objects only once
+       #
+       #   - we do show the tree "two", because it has a valid cache tree
+       #     from the last commit
+       #
+       #   - we do not show the root tree; since we updated the index, it
+       #     does not have a valid cache tree
+       #
+       cat >expect <<-\EOF &&
+       8e4020bb5a8d8c873b25de15933e75cc0fc275df one
+       d9d3a7417b9605cfd88ee6306b28dadc29e6ab08 only-in-index
+       9200b628cf9dc883a85a7abc8d6e6730baee589c two
+       EOF
+       echo only-in-index >only-in-index &&
+       git add only-in-index &&
+       git rev-list --objects --indexed-objects >actual &&
+       test_cmp expect actual
+'
+
 test_expect_success '--bisect and --first-parent can not be combined' '
        test_must_fail git rev-list --bisect --first-parent HEAD
 '