Re: git-commit bug
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jun 26, 2012, 18:08 UTC
- Message-ID
- <7vy5naaqut.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <20120626150436.GU9682@arachsys.com>
Chris Webb <chris@arachsys.com> writes:
Show 30 quoted lines
> Chris Webb <chris@arachsys.com> writes: > >> PS Whilst experimenting, I also noticed a (presumably unintentional) >> behaviour: >> >> $ git init . >> Initialized empty Git repository in /tmp/foo/.git/ >> $ git checkout --detach >> $ touch bar >> $ git add bar >> $ git commit -m test >> [(null) (root-commit) 17b5bf9] test >> 0 files changed >> create mode 100644 bar >> $ ls .git/refs/heads/ >> (null) >> $ >> >> Here we've created a branch with the strange name '(null)' instead of >> actually detaching, or refusing to detach because we're on an unborn >> branch. > > This was introduced by abe199808c, which is intended to allow > > git init . && git checkout --orphan newbranch > > but presumably wasn't also meant to enable > > git checkout --orphan foo > git checkout --detach
Correct.
On days like this, I really regret accepting that --orphan crap in the first place.
Thanks for fixing things up.
Show 11 quoted lines
> This leads to a printf("%s", NULL) and thus
>
> $ git symbolic-ref HEAD
> refs/heads/(null)
>
> I've followed up to this message with a patch including a test to catch this
> in future.
>
> Best wishes,
>
> Chris.