On Tue, 4 Mar 2008, Junio C Hamano wrote: > Daniel Barkalow <barkalow@xxxxxxxxxxxx> 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* -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html