# bug report? fatal: Ambiguous object name: 'xxx' during branch operation

2 messages from 2012-03-06 to 2012-03-06. Participants: Arya Irani, Junio C Hamano.
Thread: https://gitlist.dev/t/29865

## Arya Irani, 2012-03-06 23:18

Subject: bug report? fatal: Ambiguous object name: 'xxx' during branch operation
Message-ID: <CAB1hNr8-iPbXD-7eEOxZtrJWO78V8sDmwWWQRMMExvtGtpPrhw@mail.gmail.com>
URL: https://gitlist.dev/e/CAB1hNr8-iPbXD-7eEOxZtrJWO78V8sDmwWWQRMMExvtGtpPrhw%40mail.gmail.com
In-Reply-To: <CAB1hNr8itJV1-pzWxUo1KPsZNivg+KuRq_5jUwLUyCUpk7k=4w@mail.gmail.com>

```
If the default start-point for a branch is HEAD, then how can it fail
due to ambiguity?  Or what the heck is going on here? :-)

$ git branch -a
* 1.1-SNAPSHOT
  master
  remotes/1.1-SNAPSHOT
  remotes/trunk
$

$ git branch getProviders
warning: refname '1.1-SNAPSHOT' is ambiguous.
fatal: Ambiguous object name: '1.1-SNAPSHOT'.
$

$ cat .git/HEAD
ref: refs/heads/1.1-SNAPSHOT
$

$ git branch getProviders refs/heads/1.1-SNAPSHOT
$
success!


[svn-remote "svn"]
url = https://host/svn/all
fetch = GHIE/maven-projects/hie-util/trunk:refs/remotes/trunk
branches = GHIE/maven-projects/hie-util/branches/*:refs/remotes/*
tags = GHIE/maven-projects/hie-util/tags/*:refs/remotes/tags/*

Thanks,
Arya

P.S.  I'll use --prefix for svn to avoid this in the future!

```

## Junio C Hamano, 2012-03-06 23:44

Subject: Re: bug report? fatal: Ambiguous object name: 'xxx' during branch operation
Message-ID: <7vvcmhpa66.fsf@alter.siamese.dyndns.org>
URL: https://gitlist.dev/e/7vvcmhpa66.fsf%40alter.siamese.dyndns.org
In-Reply-To: <CAB1hNr8-iPbXD-7eEOxZtrJWO78V8sDmwWWQRMMExvtGtpPrhw@mail.gmail.com>

```
Arya Irani <arya.irani@gmail.com> writes:

> If the default start-point for a branch is HEAD, then how can it fail
> due to ambiguity?

The whole create_branch() codepath is a mess and needs to be cleaned
up, but in the shorter term, something like this, perhaps?

 builtin/branch.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/builtin/branch.c b/builtin/branch.c
index d8cccf7..02d0653 100644
--- a/builtin/branch.c
+++ b/builtin/branch.c
@@ -807,7 +807,7 @@ int cmd_branch(int argc, const char **argv, const char *prefix)
 	} else if (argc > 0 && argc <= 2) {
 		if (kinds != REF_LOCAL_BRANCH)
 			die(_("-a and -r options to 'git branch' do not make sense with a branch name"));
-		create_branch(head, argv[0], (argc == 2) ? argv[1] : head,
+		create_branch(head, argv[0], (argc == 2) ? argv[1] : "HEAD",
 			      force_create, reflog, 0, track);
 	} else
 		usage_with_options(builtin_branch_usage, options);

```
