Subject: Re: [PATCH v2 0/3] rev-parse and "--"

From: Jonathan Nieder <[email-masked]>
Date: Fri, 6 Dec 2013 15:25:56 -0800

Jeff King wrote:

> Patch 3 is the revised version of this patch which notices ambiguity.
> However, I'm having second thoughts on it. I think it's the right thing
> to do if you want to help people build something like "git log"
> themselves. But it does mean that we are breaking somebody who does:
>
>   echo foo >HEAD
>   commit=$(git rev-parse HEAD)
>
> I'm tempted to say that people who did that are stupid and wrong (and
> ugly, too). They should probably be using "--verify" in this case. But
> it has been that way for a long time, and there are two instances in our
> test scripts that are broken by the patch.

Wouldn't the same thing happen for $(git rev-parse HEAD^..HEAD) when
there is a 'HEAD^..HEAD' file, too?  --verify doesn't support that.

I think it's a nice idea to provide this functionality for people who
need it, which would mean protected by an option (--check-ambiguity or
something).  I don't think it's a good change to do it
unconditionally.

My two cents,
Jonathan