Subject: Re: Broken handling of URL with literal IPv6 address

From: Torsten Bögershausen <[email-masked]>
Date: Thu, 18 Sep 2014 15:03:32 +0200

On 2014-09-18 13.29, Christian Taube wrote:
> 
> Hello,
> 
> I was sent here from the IRC channel.
> 
> 
> Using git 2.1.0, the command
> 
>   git clone ssh://[2001:db8::1]/repo.git
> 
> succeeds, but adding a username to the URL like this
> 
>   git clone ssh://user@[2001:db8::1]/repo.git
> 
> fails with an invalid hostname message:
> 
> Cloning into 'repo.git'...
> ssh: Could not resolve hostname [2001: Name or service not known
> fatal: Could not read from remote repository.
> 
> 
> I found this workaround:
> 
>   git clone ssh://[user@2001:db8::1]/repo.git
> 
> but this seems to be contrary to the definition of URLs in RFC 3986.
> 
> http://tools.ietf.org/html/rfc3986
> 
> 
> Please have a look at this. Thank you!
> 
> 
> --
> Christian Taube

This is indeed a bug.
We handle literal IPv6 adresses OK, we handle ssh://user@host OK.
But it seems as if you are the first one using the combination of both,
thanks for the bug report.

If somebody want to have a look in the Git source tree:
connect.c, t/t5500-fetch-pack.sh and t/t5601-clone.sh may deserve an update.