Johannes Sixt [off-list ref] writes:
With the following patch on top of your always-use-relative-gitdir branch
from https://github.com/jlehmann/git-submod-enhancements the tests pass
on Windows.
Thanks, Dscho, for pointing out the obvious.
The patch looks unintrusive and sane.
Thanks all three of you for looking into this. Should I wait for a patch
with nice write-up from one of you, or should I just come up with a random
message and apply it locally avoiding roundtrip cost?
quoted hunk
diff --git a/git-submodule.sh b/git-submodule.sh
index e1984e0..953ca5e 100755
--- a/git-submodule.sh
+++ b/git-submodule.sh
@@ -151,6 +151,9 @@ module_clone()
a=$(cd "$gitdir" && pwd)
b=$(cd "$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
# Remove all common leading directories
while test -n "$a" && test -n "$b" && test "${a%%/*}" = "${b%%/*}"
do
Am 28.02.2012 20:14, schrieb Junio C Hamano:
Johannes Sixt [off-list ref] writes:
quoted
With the following patch on top of your always-use-relative-gitdir branch
from https://github.com/jlehmann/git-submod-enhancements the tests pass
on Windows.
Thanks, Dscho, for pointing out the obvious.
The patch looks unintrusive and sane.
Thanks all three of you for looking into this. Should I wait for a patch
with nice write-up from one of you, or should I just come up with a random
message and apply it locally avoiding roundtrip cost?
Thanks, but that interdiff needs all three patches from my branch to work
properly, while I only posted the first two here so far (without the third
one the gitfile still might contain the "c:/" notation even with J6t's diff
applied). I still need to remove the iffiness of my 2/2 patch and the third
one needs a test case too before I can repost that series.
quoted
diff --git a/git-submodule.sh b/git-submodule.sh
index e1984e0..953ca5e 100755
--- a/git-submodule.sh
+++ b/git-submodule.sh
@@ -151,6 +151,9 @@ module_clone()
a=$(cd "$gitdir" && pwd)
b=$(cd "$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
# Remove all common leading directories
while test -n "$a" && test -n "$b" && test "${a%%/*}" = "${b%%/*}"
do