Merge branch 'rg/doc-pull-typofix'
[gitweb.git] / t / t6120-describe.sh
index 9e5db9b87a1faef912adaf460fc2d0ea7f375f50..16952e44fcfd705e115b81099bdbff809ff1520d 100755 (executable)
@@ -218,6 +218,14 @@ test_expect_success 'describe --contains and --match' '
        test_cmp expect actual
 '
 
+test_expect_success 'describe --exclude' '
+       echo "c~1" >expect &&
+       tagged_commit=$(git rev-parse "refs/tags/A^0") &&
+       test_must_fail git describe --contains --match="B" $tagged_commit &&
+       git describe --contains --match="?" --exclude="A" $tagged_commit >actual &&
+       test_cmp expect actual
+'
+
 test_expect_success 'describe --contains and --no-match' '
        echo "A^0" >expect &&
        tagged_commit=$(git rev-parse "refs/tags/A^0") &&
@@ -225,4 +233,24 @@ test_expect_success 'describe --contains and --no-match' '
        test_cmp expect actual
 '
 
+test_expect_success 'setup and absorb a submodule' '
+       test_create_repo sub1 &&
+       test_commit -C sub1 initial &&
+       git submodule add ./sub1 &&
+       git submodule absorbgitdirs &&
+       git commit -a -m "add submodule" &&
+       git describe --dirty >expect &&
+       git describe --broken >out &&
+       test_cmp expect out
+'
+
+test_expect_success 'describe chokes on severly broken submodules' '
+       mv .git/modules/sub1/ .git/modules/sub_moved &&
+       test_must_fail git describe --dirty
+'
+test_expect_success 'describe ignoring a borken submodule' '
+       git describe --broken >out &&
+       grep broken out
+'
+
 test_done