get_ref_dir(): take the containing directory as argument
[gitweb.git] / git-submodule.sh
index 279ff9333a9b524d60a4c6edcc86024b01888126..64a70d621aa5b81547ff63740b6876009677aae5 100755 (executable)
@@ -168,10 +168,11 @@ module_clone()
        a=${a%/}
        b=${b%/}
 
-       rel=$(echo $b | sed -e 's|[^/]*|..|g')
+       # Turn each leading "*/" component into "../"
+       rel=$(echo $b | sed -e 's|[^/][^/]*|..|g')
        echo "gitdir: $rel/$a" >"$sm_path/.git"
 
-       rel=$(echo $a | sed -e 's|[^/]*|..|g')
+       rel=$(echo $a | sed -e 's|[^/][^/]*|..|g')
        (clear_local_git_env; cd "$sm_path" && GIT_WORK_TREE=. git config core.worktree "$rel/$b")
 }