From: Junio C Hamano Date: Fri, 8 Jun 2007 08:19:13 +0000 (-0700) Subject: checkout: do not get confused with ambiguous tag/branch names X-Git-Tag: v1.5.2.2~21 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/5035242c4785bd23c53827a1656b5f97394f724e?hp=5035242c4785bd23c53827a1656b5f97394f724e checkout: do not get confused with ambiguous tag/branch names Although it is not advisable, we have always allowed a branch and a tag to have the same basename (i.e. it is not illegal to have refs/heads/frotz and refs/tags/frotz at the same time). When talking about a specific commit, the interpretation of 'frotz' has always been "use tag and then check branch", although we warn when ambiguities exist. However "git checkout $name" is defined to (1) first see if it matches the branch name, and if so switch to that branch; (2) otherwise it is an instruction to detach HEAD to point at the commit named by $name. We did not follow this definition when $name appeared under both refs/heads/ and refs/tags/ -- we switched to the branch but read the tree from the tagged commit, which was utterly bogus. Signed-off-by: Junio C Hamano ---