From: Junio C Hamano Date: Mon, 30 Jul 2012 20:04:18 +0000 (-0700) Subject: Merge branch 'jl/maint-1.7.10-recurse-submodules-with-symlink' into maint X-Git-Tag: v1.7.11.4~6 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=8ba105dda861d33f3d7c3b9989592c1605027116;p=git.git Merge branch 'jl/maint-1.7.10-recurse-submodules-with-symlink' into maint When "git submodule add" clones a submodule repository, it can get confused where to store the resulting submodule repository in the superproject's .git/ directory when there is a symbolic link in the path to the current directory. * jl/maint-1.7.10-recurse-submodules-with-symlink: submodules: don't stumble over symbolic links when cloning recursively --- 8ba105dda861d33f3d7c3b9989592c1605027116 diff --cc git-submodule.sh index fbf2fafaa,61f3b72e3..30fa93a8a --- a/git-submodule.sh +++ b/git-submodule.sh @@@ -146,12 -145,14 +146,14 @@@ module_clone( else mkdir -p "$gitdir_base" git clone $quiet -n ${reference:+"$reference"} \ - --separate-git-dir "$gitdir" "$url" "$path" || - die "$(eval_gettext "Clone of '\$url' into submodule path '\$path' failed")" + --separate-git-dir "$gitdir" "$url" "$sm_path" || + die "$(eval_gettext "Clone of '\$url' into submodule path '\$sm_path' failed")" fi - a=$(cd "$gitdir" && pwd)/ - b=$(cd "$sm_path" && pwd)/ + # We already are at the root of the work tree but cd_to_toplevel will + # resolve any symlinks that might be present in $PWD + a=$(cd_to_toplevel && cd "$gitdir" && pwd)/ - b=$(cd_to_toplevel && cd "$path" && pwd)/ ++ b=$(cd_to_toplevel && cd "$sm_path" && pwd)/ # normalize Windows-style absolute paths to POSIX-style absolute paths case $a in [a-zA-Z]:/*) a=/${a%%:*}${a#*:} ;; esac case $b in [a-zA-Z]:/*) b=/${b%%:*}${b#*:} ;; esac