Merge branch 'jk/misc-uninitialized-fixes'
[gitweb.git] / t / t6000-rev-list-misc.sh
index fb4d295aa0f17c6aa967555ed92b4bc02884a9b3..b8cf82349b1d6d0405342cf98ead948d2e81c2a5 100755 (executable)
@@ -48,6 +48,26 @@ test_expect_success 'rev-list --objects with pathspecs and copied files' '
        ! grep one output
 '
 
+test_expect_success 'rev-list --objects --no-object-names has no space/names' '
+       git rev-list --objects --no-object-names HEAD >output &&
+       ! grep wanted_file output &&
+       ! grep unwanted_file output &&
+       ! grep " " output
+'
+
+test_expect_success 'rev-list --objects --no-object-names works with cat-file' '
+       git rev-list --objects --no-object-names --all >list-output &&
+       git cat-file --batch-check <list-output >cat-output &&
+       ! grep missing cat-output
+'
+
+test_expect_success '--no-object-names and --object-names are last-one-wins' '
+       git rev-list --objects --no-object-names --object-names --all >output &&
+       grep wanted_file output &&
+       git rev-list --objects --object-names --no-object-names --all >output &&
+       ! grep wanted_file output
+'
+
 test_expect_success 'rev-list A..B and rev-list ^A B are the same' '
        git commit --allow-empty -m another &&
        git tag -a -m "annotated" v1.0 &&
@@ -90,11 +110,18 @@ test_expect_success 'rev-list can show index objects' '
        9200b628cf9dc883a85a7abc8d6e6730baee589c two
        EOF
        echo only-in-index >only-in-index &&
+       test_when_finished "git reset --hard" &&
        git add only-in-index &&
        git rev-list --objects --indexed-objects >actual &&
        test_cmp expect actual
 '
 
+test_expect_success 'rev-list can negate index objects' '
+       git rev-parse HEAD >expect &&
+       git rev-list -1 --objects HEAD --not --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
 '
@@ -113,4 +140,12 @@ test_expect_success '--header shows a NUL after each commit' '
        test_cmp expect actual
 '
 
+test_expect_success 'rev-list --end-of-options' '
+       git update-ref refs/heads/--output=yikes HEAD &&
+       git rev-list --end-of-options --output=yikes >actual &&
+       test_path_is_missing yikes &&
+       git rev-list HEAD >expect &&
+       test_cmp expect actual
+'
+
 test_done