Junio C Hamano wrote: > I do not share the "with --verify is better hence no problem" > reasoning. My "not so much worth worrying about" comes solely from > a hunch that nobody has "HEAD~3..HEAD" in their working directory, That's what makes it a problem. This change makes it very easy to make a general-purpose script that breaks in an edge case that the script's author is not likely to run into. Then as soon as someone adds a file with such a name to the test data in their repo, their favorite general-purpose repo munger just breaks. If we wanted to forbid git from tracking files named HEAD~3..HEAD altogether, that would be a different story. > and if somebody has one, then they must be using "--verify" (or a > clarifying "--"), because their "git log" and whatever they use "git > rev-parse HEAD~3..HEAD" for would behave very differently otherwise. Isn't protecting against this kind of thing the reason we ask authors of general-purpose scripts to use "simple, do what I say and not what I mean" plumbing commands? Another relevant detail is that using rev-parse with "--" is more painful than without, since it includes the "--" in its output. Without this change, it seems much more likely to me that someone would do git rev-parse <commits> | while read commit do ... done than git rev-parse <commits> -- | while read commit do if test "$commit" = "--" then continue fi ... done > So it is not merely "--verify is better"---in a situation where the > backward incompatibility matters, I doubt the existing behaves > sensibly in the first place. What in the former of the above two loops is broken? > But if we cook it for a while, I suspect that we will find more and > more breakages of expectations in the existing scripts in and out of > the tree; Alas, probably no, because nobody has "HEAD~3..HEAD" in their working directory. That's exactly the problem --- it creates an edge case that nobody is likely to test until the once-in-a-few-years moment when they need it. Jonathan -- 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