Re: [PATCH v2 0/3] rev-parse and "--"
- From
Jonathan Nieder <jrnieder@gmail.com>
- Date
- Dec 9, 2013, 19:12 UTC
- Message-ID
- <20131209191224.GR29959@google.com>
- In-Reply-To
- <xmqqmwk9zvyy.fsf@gitster.dls.corp.google.com>
Junio C Hamano wrote:
Show 6 quoted lines
>> So maybe we are doing a favor by >> calling out the problem; if they want a rev, they should be using >> "--verify" (or "--"). > > I tend to agree with the reasoning in the last sentence. Let's cook > it for a while and see what happens.
Isn't this essentially breaking a contract that would have been relied on by any script that used "git rev-parse HEAD~3..HEAD"? Worse, it's breaking that contract in a way that no one would notice until they are asked to manipulate a worktree with a file named 'HEAD~3..HEAD' --- in other words, the breakage it introduces is painfully subtle.
I agree that "git rev-parse HEAD" is better written as "git rev-parse --verify HEAD" and hence not so much worth worrying about, but I don't find it easy to believe that people should have anticipated this change and added a trailing "--" to more complex rev-parse expressions.
So to be clear, I think unless it is protected by a new option, this is a bad idea.
Hope that helps, Jonathan