From: Marc Branchaud <marcn...@xiplink.com>

Use "git remote default" instead of replicating its logic.

The unit test checks a relative-path submodule because the submodule code
is (almost) the only thing that uses get_default_remote.

Signed-off-by: Marc Branchaud <marcn...@xiplink.com>
---
 git-parse-remote.sh        |  5 +----
 t/t7400-submodule-basic.sh | 21 +++++++++++++++++++++
 2 files changed, 22 insertions(+), 4 deletions(-)

diff --git a/git-parse-remote.sh b/git-parse-remote.sh
index 484b2e6..49257f0 100644
--- a/git-parse-remote.sh
+++ b/git-parse-remote.sh
@@ -5,10 +5,7 @@
 GIT_DIR=$(git rev-parse -q --git-dir) || :;
 
 get_default_remote () {
-       curr_branch=$(git symbolic-ref -q HEAD)
-       curr_branch="${curr_branch#refs/heads/}"
-       origin=$(git config --get "branch.$curr_branch.remote")
-       echo ${origin:-origin}
+       echo $(git remote default)
 }
 
 get_remote_merge_branch () {
diff --git a/t/t7400-submodule-basic.sh b/t/t7400-submodule-basic.sh
index 81827e6..2ac2ffc 100755
--- a/t/t7400-submodule-basic.sh
+++ b/t/t7400-submodule-basic.sh
@@ -507,6 +507,27 @@ test_expect_success 'relative path works with 
user@host:path' '
        )
 '
 
+test_expect_success 'realtive path works when superproject on detached HEAD' '
+       (
+               test_create_repo detach &&
+               cd detach &&
+               test_create_repo sub &&
+               (
+                       cd sub &&
+                       test_commit foo
+               ) &&
+               git add sub &&
+               git commit -m "added sub" &&
+               rm -rf sub &&
+               git checkout HEAD@{0} &&
+               git config -f .gitmodules submodule.sub.path sub &&
+               git config -f .gitmodules submodule.sub.url ../subrepo &&
+               git remote add awkward /path/to/awkward
+               git submodule init sub &&
+               test "$(git config submodule.sub.url)" = /path/to/subrepo
+       )
+'
+
 test_expect_success 'moving the superproject does not break submodules' '
        (
                cd addtest &&
-- 
1.7.11.1

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to