Re: [msysGit] Re: [PATCH 0/2] submodules: Use relative paths to gitdir and work tree
- From
Jens Lehmann <jens.lehmann@web.de>
- Date
- Feb 28, 2012, 19:21 UTC
- Message-ID
- <4F4D291D.6000200@web.de>
- In-Reply-To
- <4F4D23D8.1050208@kdbg.org>
Am 28.02.2012 19:58, schrieb Johannes Sixt:
Show 13 quoted lines
> 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.
Show 15 quoted lines
> 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
>