Merge branch 'jc/pack-order-tweak'
[gitweb.git] / t / t7400-submodule-basic.sh
index 874279e32da98ac2c20137a207a0d115f073e444..14dc92723c3dc96c1c3c15724df668226edf578e 100755 (executable)
@@ -47,8 +47,10 @@ test_expect_success 'setup - repository to add submodules to' '
 '
 
 # The 'submodule add' tests need some repository to add as a submodule.
-# The trash directory is a good one as any.
-submodurl=$TRASH_DIRECTORY
+# The trash directory is a good one as any. We need to canonicalize
+# the name, though, as some tests compare it to the absolute path git
+# generates, which will expand symbolic links.
+submodurl=$(pwd -P)
 
 listbranches() {
        git for-each-ref --format='%(refname)' 'refs/heads/*'
@@ -99,7 +101,7 @@ test_expect_success 'submodule add to .gitignored path fails' '
                git add --force .gitignore &&
                git commit -m"Ignore everything" &&
                ! git submodule add "$submodurl" submod >actual 2>&1 &&
-               test_cmp expect actual
+               test_i18ncmp expect actual
        )
 '
 
@@ -357,7 +359,7 @@ test_expect_success 'update --init' '
 
        git submodule update init > update.out &&
        cat update.out &&
-       grep "not initialized" update.out &&
+       test_i18ngrep "not initialized" update.out &&
        ! test -d init/.git &&
 
        git submodule update --init init &&
@@ -446,6 +448,16 @@ test_expect_success 'add should fail when path is used by an existing directory'
        )
 '
 
+test_expect_success 'use superproject as upstream when path is relative and no url is set there' '
+       (
+               cd addtest &&
+               git submodule add ../repo relative &&
+               test "$(git config -f .gitmodules submodule.relative.url)" = ../repo &&
+               git submodule sync relative &&
+               test "$(git config submodule.relative.url)" = "$submodurl/repo"
+       )
+'
+
 test_expect_success 'set up for relative path tests' '
        mkdir reltest &&
        (