From: Jens Lehmann Date: Tue, 28 Feb 2012 19:21:01 GMT Subject: Re: [msysGit] Re: [PATCH 0/2] submodules: Use relative paths to gitdir and work tree Message-ID: <4F4D291D.6000200@web.de> In-Reply-To: <4F4D23D8.1050208@kdbg.org> Am 28.02.2012 19:58, schrieb Johannes Sixt: > Am 27.02.2012 22:19, schrieb Johannes Sixt: >> Am 26.02.2012 20:58, schrieb Jens Lehmann: >>> - gitdir=$(git rev-parse --git-dir) >>> + gitdir=$(git rev-parse --git-dir | sed -e 's,^\([a-z]\):/,/\1/,') >> >> I don't like pipelines of this kind because they fork yet another >> process. But it looks like there are not that many alternatives... > > 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. Thanks for helping to test and fix that on the Windows side. Do you want to post a commit based on the the interdiff below so I can apply it on top of my branch? Then I would make this a four patch series in the next round. > 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 >