From: David Kastrup Date: Fri, 14 Feb 2014 15:35:14 GMT Subject: Re: error: src refspec refs/heads/master matches more than one. Message-ID: <87ppmp3dxp.fsf@fencepost.gnu.org> In-Reply-To: <20140214151619.GB17817@raven.inka.de> Josef Wolf writes: > On Fri, Feb 14, 2014 at 07:59:18PM +0700, Duy Nguyen wrote: >> On Fri, Feb 14, 2014 at 7:45 PM, Andreas Schwab wrote: >> > Josef Wolf writes: >> > >> >> Notice the refs/heads _within_ refs/heads! >> > Probably you did something like "git branch refs/heads/master". You can >> > remove it again with "git branch -d refs/heads/master". >> As a porcelain, "git branch" should prevent (or at least warn) users >> from creating such refs, I think. > > I don't think I did it the way Andreas thinks. This repository is maintained > by a script, I don't create branches manually. The only command in this script > that uses "heads" is > > git symbolic-ref HEAD "refs/heads/$new_branch" > > to create new branches without any ancestry. And I double-checked that this > command is _not_ resposible for those ghost branches. > > BTW: I see such ghost branches reappearing again and again, so it must be > something systematic. You probably should check how $new_branch comes about. Also, once a directory refs/heads/refs/heads exists, "refs/heads/$new_branch" may possibly be resolved as a branch with the name refs/heads/$new_branch. -- David Kastrup