# Fwd: Bug#793884: git: allows nonsensical command 'git checkout -b HEAD'

2 messages from 2015-07-28 to 2015-07-28. Participants: Duy Nguyen, Junio C Hamano.
Thread: https://gitlist.dev/t/39954

## Duy Nguyen, 2015-07-28 14:33

Subject: Fwd: Bug#793884: git: allows nonsensical command 'git checkout -b HEAD'
Message-ID: <CACsJy8Atx7h8LHQ26rTx2jPUxL-+MSLva8njdoUs5+Aq-Eoj4Q@mail.gmail.com>
URL: https://gitlist.dev/e/CACsJy8Atx7h8LHQ26rTx2jPUxL-%2BMSLva8njdoUs5%2BAq-Eoj4Q%40mail.gmail.com
In-Reply-To: <20150728141858.22342.16605.reportbug@zam581.zam.kfa-juelich.de>

```
This seems like a good thing to fix (i.e. make sure XX is not
ambiguous before creating it with "git checkout -b XX")


---------- Forwarded message ----------
From: Andreas Beckmann <anbe@debian.org>
Date: Tue, Jul 28, 2015 at 9:18 PM
Subject: Bug#793884: git: allows nonsensical command 'git checkout -b HEAD'
To: Debian Bug Tracking System <submit@bugs.debian.org>


Package: git
Version: 1:2.1.4-2.1
Severity: normal
Tags: upstream

$ git branch HEAD
fatal: it does not make sense to create 'HEAD' manually
# OK, special casing prevents this
$ git checkout -b HEAD
Switched to a new branch 'HEAD'
# but not this :-P
$ git checkout master
Switched to branch 'master'
$ git checkout HEAD
warning: refname 'HEAD' is ambiguous.
Switched to branch 'HEAD'
# oops ;-)
$ git checkout master
Switched to branch 'master'
$ git branch -d HEAD
Deleted branch HEAD (was 6e54945).
# OK, we can easily cleanup this mess again

The same works in 1:2.4.6-1 in sid.

If there is some special casing for HEAD in git branch, the same
should probably be done for git checkout -b, too.


Andreas



-- 
Duy

```

## Junio C Hamano, 2015-07-28 16:32

Subject: Re: Fwd: Bug#793884: git: allows nonsensical command 'git checkout -b HEAD'
Message-ID: <xmqqmvygfdjs.fsf@gitster.dls.corp.google.com>
URL: https://gitlist.dev/e/xmqqmvygfdjs.fsf%40gitster.dls.corp.google.com
In-Reply-To: <CACsJy8Atx7h8LHQ26rTx2jPUxL-+MSLva8njdoUs5+Aq-Eoj4Q@mail.gmail.com>

```
Duy Nguyen <pclouds@gmail.com> writes:

> This seems like a good thing to fix (i.e. make sure XX is not
> ambiguous before creating it with "git checkout -b XX")

Yeah, sounds like an easy lunch-time hack low-hanging fruit :-).

```
