Jeff King [off-list ref] writes:
I'm not sure. And to be honest I don't really care, because I think
people with ambiguous refs are little bit crazy anyway (after all, in
the current code it simply calls die()). But I think there is some
argument to be made that due to tracking, start_point is not _just_
a regular ref. We do care about its branchiness.
I do not really care either myself, and if
git branch --track foo heads/ambiguity
git branch --track foo tags/ambiguity
allows the user to differentiate between the branch and the tag, it would
be more than sufficient.