Re: [PATCH] clone: allow cloning local paths with colons in them

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Apr 27, 2013 at 10:36:18AM +0700, Nguyễn Thái Ngọc Duy wrote:
> Usually "foo:bar" is interpreted as an ssh url. This patch allows to
> clone from such paths by putting at least one slash before the colon
> (i.e. /path/to/foo:bar or just ./foo:bar).
> 
> file://foo:bar should also work, but local optimizations are off in
> that case, which may be unwanted. While at there, warn the users about
> --local being ignored in this case.
> 
> Reported-by: William Giokas <1007380@xxxxxxxxx>
> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx>
> ---

Working fine at the moment for the local clones (thank you). It looks
nice and clean, to me, and doesn't break any existing functionality I
have. 

Though I did notice that if it is a local file, then you don't actually
need a `/` anywhere at all, because I think git looks to see that it is
a local file first. (This is totally fine, though.)

>  On Mon, Apr 22, 2013 at 10:35 PM, Jeff King <peff@xxxxxxxx> wrote:
>  > So I think one reasonable path would be:
>  >
>  >   1. Do not treat "host:path" as ssh if "host" has a slash, which should
>  >      not regress anybody. It does not allow unadorned relative paths
>  >      with colons, but it lets you use absolute paths or "./" to
>  >      disambiguate.
>  >
>  >   2. Teach git-clone to ask the transport code to parse the source repo
>  >      spec, and decide from that whether it is local or not. That would
>  >      harmonize the implementations and avoid errors when you _did_ mean
>  >      to use ssh, but "host:path" happens to exist in your filesystem. I
>  >      also would not be surprised if there are problems with
>  >      URL-encoding, but maybe clone handles that properly (I didn't
>  >      check).
>  >
>  > And the "host contains slash" rule is pretty easy to explain in the
>  > documentation, which is good.
> 
>  I totally agree with this. But doing #2 seems to require a bit of
>  code reorganization. How about just this for now?
>
>  Documentation/urls.txt | 6 ++++++
>  builtin/clone.c        | 2 ++
>  connect.c              | 7 +++++--
>  t/t5601-clone.sh       | 5 +++++
>  4 files changed, 18 insertions(+), 2 deletions(-)

Thank you,
-- 
William Giokas | KaiSforza
GnuPG Key: 0x73CD09CF
Fingerprint: F73F 50EF BBE2 9846 8306  E6B8 6902 06D8 73CD 09CF

Attachment: pgp88nUFaImcd.pgp
Description: PGP signature


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]