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

Re: git clone -l

From
Daniel Barkalow <barkalow@iabervon.org>
Date
Mar 5, 2008, 00:45 UTC
Message-ID
<alpine.LNX.1.00.0803041937110.19665@iabervon.org>
In-Reply-To
<7vd4qa3t9t.fsf@gitster.siamese.dyndns.org>
On Tue, 4 Mar 2008, Junio C Hamano wrote:
Show 20 quoted lines
> Daniel Barkalow <barkalow@iabervon.org> writes:
> 
> > What, exactly, is -l supposed to do for clone? As far as I can tell, we 
> > automatically do the local magic if we can. Would it be okay to make 
> > "local" default to "if possible", have "-l" mean error if not possible, 
> > and have "--no-local" able to avoid using local magic even if we could use 
> > it?
> 
> It used to be that "-l" meant "When it is local, use hardlink if possible
> otherwise copy without complaining, as either are cheaper than the pack
> piped to unpack."  Lack of -l meant no local magic.
> 
> Recently lack of -l stopped to mean "no local magic".  We still do the
> local magic, but we do not do hardlinks and instead do copies.  An "-l"
> that asks clone across filesystems still falls back to copying but now
> gets a warning.  "--no-hardlinks" does not have any significance anymore,
> as that is what you would get for a local clone without -l.
> 
> The way to refuse local magic is to use file://$path/ explicitly; we do
> not have --no-local.

Ah, okay. I was having a hard time getting the not-using-local-magic case to be clearly not using local magic, but I think that was confusion on my part. Also, it looks like we need a test that not using -l is equivalent to --no-hardlinks.

Would it be okay to additionally block local magic, even with a local path, if "--no-local" is used? Using our parse-options code means --no-local is accepted anyway, and it's a bit confusing that it doesn't block default local magic. (Obviously, this won't break anything, since old code wouldn't have accepted it.)

	-Daniel
*This .sig left intentionally blank*
Previous: Junio C HamanoNext: Brandon Casey
Message 3 of 4 in “git clone -l”
  1. Daniel BarkalowMar 5, 2008
  2. Junio C HamanoMar 5, 2008
  3. Daniel BarkalowMar 5, 2008
  4. Brandon CaseyMar 5, 2008

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.