git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
William Giokas <1007380@gmail.com>
Date
Apr 27, 2013, 20:08 UTC
Message-ID
<20130427200842.GA14994@WST420>
In-Reply-To
<1367033778-13923-1-git-send-email-pclouds@gmail.com>
On Sat, Apr 27, 2013 at 10:36:18AM +0700, Nguyễn Thái Ngọc Duy wrote:
Show 11 quoted lines
> 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@gmail.com>
> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
> ---

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.)

Show 27 quoted lines
>  On Mon, Apr 22, 2013 at 10:35 PM, Jeff King <peff@peff.net> 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
Previous: Nguyễn Thái Ngọc DuyNext: Junio C Hamano
Message 9 of 16 in “[BUG] Filenames with single colon being treated as remote repository”
  1. William GiokasApr 21, 2013
  2. Jonathan NiederApr 21, 2013
  3. Jeff KingApr 21, 2013
  4. Jonathan NiederApr 21, 2013
  5. Junio C HamanoApr 21, 2013
  6. Jeff KingApr 22, 2013
  7. Junio C HamanoApr 22, 2013
  8. clone: allow cloning local paths with colons in themNguyễn Thái Ngọc Duy, Apr 27, 2013
  9. William GiokasApr 27, 2013
  10. Junio C HamanoApr 27, 2013
  11. Duy NguyenApr 28, 2013
  12. Eric SunshineApr 28, 2013
  13. Duy NguyenApr 28, 2013
  14. clone: allow cloning local paths with colons in themNguyễn Thái Ngọc Duy, May 4, 2013
  15. Junio C HamanoMay 7, 2013
  16. Jeff KingMay 7, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.