From: Brandon Casey Date: Wed, 05 Mar 2008 00:53:37 GMT Subject: Re: git clone -l Message-ID: <47CDEF11.8000807@nrlssc.navy.mil> In-Reply-To: <7vd4qa3t9t.fsf@gitster.siamese.dyndns.org> Junio C Hamano wrote: > Daniel Barkalow 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. Are you sure? I thought this was changed by 3d5c418f so that hardlinking is done by default. Lack of -l means "do local magic and use hard links". Using -l makes git-clone print a warning when hard linking fails. --no-hardlinks disables hard linking and still does local magic. -brandon