On Tue, May 29, 2012 at 10:43:32AM -0700, Junio C Hamano wrote: > Jeff King <peff@xxxxxxxx> writes: > > > I think it depends on the definition of "--local". If it means "when we > > are cloning without a URL, turn on the local optimizations", then yes, > > "file://" should not work. If it means "turn on local optimizations if > > this destination supports it", then it should. > > It has meant the former since the day --local was introduced, and > the semi-deprecation at 3d5c418 (git-clone: aggressively optimize > local clone behaviour., 2007-08-01) didn't change it, either. Right, but my argument was that since nobody probably ever cared about the distinction, it is more important to do the least surprising thing. > > The current behavior is ambiguous as to whether it is the first case, or > > whether it is the second, and it was simply buggy. The history you gave > > argues that the original intent was the former. But to me that is much > > less important than what is useful and least surprising to users. > > Changing it would make it even more confusing to people who started > using Git before mid 2007, though. That is why I am for deprecating > (and eventually removing) "--local". Yes, it would technically be a regression. But I highly doubt that somebody is relying on the fact that "--local" with file:// is a silent no-op. And other than that, the behavior remains the same (note that my patch explicitly did not try to turn on --local when it sees file://). Anyway, I do not really care about this part of the series. It was not "this is a needed feature" but rather "this is less surprising and easy to do, so why not?". We can drop it and replace it with a documentation update. I would still like to keep the --no-local patch, for two reasons: 1. The fact that using file:// overrides the local optimizations is somewhat non-obvious if you do not already know that it is the case. 2. File URLs require absolute paths[1]. You can't do the equivalent of "git clone --no-local foo.git" without resorting to $PWD. So here's an updated series (I see you took the test cleanups already). [1/2]: docs/clone: mention that --local may be ignored [2/2]: clone: allow --no-local to turn off local optimizations I didn't bother with deprecation or erroring out on URLs. So far we have had exactly one report on this, and I think the improved documentation would have solved this particular case. -Peff -- 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