Subject: Re: Fwd: Issue with Git Branch

From: SZEDER Gábor <[email-masked]>
Date: Mon, 13 Jan 2020 12:26:21 +0100

On Sun, Jan 12, 2020 at 04:48:14PM -0800, Taylor Blau wrote:
> On Mon, Jan 13, 2020 at 01:42:35AM +0100, SZEDER Gábor wrote:
> > On Sun, Jan 12, 2020 at 04:11:43PM -0800, Taylor Blau wrote:
> > > On Sun, Jan 12, 2020 at 07:01:04PM -0500, Jude Guan Wang wrote:
> > > > 	I noticed something weird with my git command. In my local
> > > > 	environment I seem to have a branch named `-D`:
> > > >
> > > > 	And I don’t remember how I was able to create a branch like that.
> >
> > > If you do find a reproducible way to create branches named '-D' or
> > > similar, please do let us know, as these are not intended to be valid
> > > branch names in general.
> >
> >   $ git update-ref refs/heads/-D master
> >   $ git branch |head -n1
> >     -D
> 
> I was assuming that Jude had gotten the ref to appear by using 'git
> branch' alone, i.e., without the help of 'git update-ref' or 'cp
> .git/refs/heads/{master,-D}'.

On a somewhat related note, while trying whether I could
"inadvertently" create such a branch with gitk I stumbled upon this
bit of weirdness:

  $ git rev-parse v2.24.0^{commit}
  da72936f544fec5a335e66432610e4cef4430991
  $ git branch da72936f544fec5a335e66432610e4cef4430991 v2.24.0
  $ gitk -1 v2.24.0

(While starting up gitk might show a popup warning about the branch
with 40 hexdigit name, close it.)

So now gitk displays a commit with the v2.24.0 tag and the da7293...
branch pointing to it.  Right click on the commit's subject line,
select "Create new branch" from the context menu.  Enter "-D" as the
name of the new branch, and click Create.  Now gitk displays a "-D"
branch pointing to the same commit as well, but it's only a display
thing, as it did not actually create that branch, because it
carelessly run the 'git branch -D da7293...' command...  After
refreshing with F5 it won't display the da7293... and "-D" branches.