Junio C Hamano <gitster@xxxxxxxxx> writes: > Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> writes: > ... >> Ack. Patch looks fine, makes sense, and is obviously good. > > That makes it two of us. ... eh, excuse me, there is one issue > I mention at the end. > >> It *is* a change in behaviour, though, so I can understand if Junio >> doesn't think it's appropriate this late in the 1.5.3 series. > > One minor objection I do have is that, just as a matter of > principle, in order to avoid setting precedence of making a > fundamental semantics change in late -rc stage in the game, we > should not swallow it. I do not mind if this were clearly a > good change. > > However, I think Jeff's patch always makes it recursive even > when the user asks for --raw, which makes it inappropriate for > inclusion whether before or after 1.5.3. Actually, I would like to take this back. The highest level UI "git-diff" is for the end-users, and most of them typically do not seem to want non recursive "birds-eye" view of changes. The top-level non-recursive behaviour is not always useful as a birds-eye view. Even in Linux kernel context, when you are interested in one area e.g. i386, the answer the non recursive behaviour gives us would not show what you typically want to see (i.e. include/asm-i386 and arch/i386), but it stops at the "toplevel", i.e. include and arch. In addition, it is not like our tree diff is too slow and not recursing into lower level makes it usable. In short, I think recursive behaviour by default makes sense for "git diff". When people want to use lower level git-diff-* family, I think the traditional behaviour is fine. We _might_ want to default the --name-status and --name-only to recursive behaviour as well, but (1) that is an independent topic, and (2) we should re-examine what the appropriate recursiveness for the other options. - 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