From: Junio C Hamano Date: Fri, 27 Feb 2009 07:24:47 GMT Subject: Re: [PATCH 1/2] clone: do not ignore --no-hardlinks Message-ID: <7vy6vsmjeo.fsf@gitster.siamese.dyndns.org> In-Reply-To: <20090227025829.GA22060@coredump.intra.peff.net> Jeff King writes: > On Fri, Feb 27, 2009 at 12:31:22AM +0100, Johannes Schindelin wrote: > >> Somehow --no-hardlinks got broken by making clone a builtin. This >> was discovered during my work on --depth being ignored for local >> clones. >> >> There will be a test case that tests for --no-hardlinks in conjunction >> with --depth, so this patch is not accompanied by a separate test. > > Hmm. But --no-hardlinks has an effect later, in copy_or_link_directory, > making it just do a copy. So it _does_ work, just not in the way you > expect. Yup, I agree. > I think to turn off local shortcuts entirely, --no-local would probably > make more sense. IOW, something like this: So across filesystems: - "git clone /p/a/t/h" falls back to copying; - "git clone --local /p/a/t/h" should fail without falling back to copying; and - "git clone --no-local /p/a/t/h" should work as if file:///p/a/t/h was given. That is much more sensible than making "git clone --no-hardlinks /p/a/t/h" imply more than what the option really means: we are making a local copy but do not cheat with hardlinking.