On Fri, Aug 25, 2017 at 09:02:36PM +0900, Mike Hommey wrote: > On Fri, Aug 25, 2017 at 12:58:52PM +0200, Johannes Schindelin wrote: > > > > > Cc-ing the Git for Windows mailing list as an FYI. > > > > > > > > > > I have faint memories that some developers on that project have had to > > > > > delve deep into Msys path modification rules. It's possible they can > > > > > give us advice (e.g. about <helper>::<url> having been a bad choice of > > > > > syntax in the first place :)). > > > > > > > > I think it is safe to assume that :: is not part of any Unix-y path. That > > > > is why the MSYS2 runtime does not try to play games with it by converting > > > > it to a Windows path. > > > > > > > > (And indeed, I just tested this, an argument of the form > > > > "a::file://b/x/y/z" is not converted to a "Windows path") > > > > > > Note that there are people out there using msys, *and* git for windows, > > > although I don't know if such people exist outside Mozilla. > > > > Note that I am maintainer of Git for Windows, not of any setup that uses > > MSys. Please do not even try to put more stuff on my plate. > > I'm not trying to do that. I'm just saying that there are setups where > the current way of using remote helpers doesn't work out, and it's > completely independent of git or git for windows, and there's not much > git for windows can do about it except maybe unmangling what msys does, > but it's about as horrible as not doing anything. > > This does bring the question, though, whether there should be an > alternative syntax, which there actually is, but it doesn't really allow > to convey things with a protocol after the double colons (e.g. > you can't really distinguish between hg::http://... and hg::http://... > with the hg:// form ; git-cinnabar allows the protocol to appear as part > of the port number, e.g. hg://host:http/... and hg:// defaults to https) > > And this brings the question whether :: would be the right "trigger" for > the feature that opened this thread originally. (FYI, FWIW) So, interestingly, I tried using the instructions on https://github.com/git-for-windows/git/wiki/Install-inside-MSYS2-proper today, and that led me to the same problem, being that the msys path munging was breaking <helper>::<url> syntax. It turns out, I had placed the git-for-windows section last in pacman.conf, so msys2-runtime hadn't been updated. Once it is updated, the <helper>::<url> syntax is not munged anymore, and everything works as expected. Meaning, in fact, that git-for-windows has addressed the problem on its end, but the problem still exists when running git-for-windows from a msys2 shell without the git-for-windows msys2 runtime. Also, the munging happens at the caller side, so the shell needs to be using git-for-windows's msys2 runtime, it's not enough that git itself does. Mike