error: * Ignoring funny ref 'refs/heads/' locally
Can someone tell me why this happens?
error: * Ignoring funny ref 'refs/heads/' locally
It also happens with 1.6.3.1
$ mkdir root $ cd root $ git init Initialized empty Git repository in /tmp/root/.git/ $ :> .gitignore $ git add .gitignore $ git commit -m "initial" Created initial commit 6a7c768: initial 0 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 .gitignore $ cd .. $ git clone root clone Initialized empty Git repository in /tmp/clone/.git/ $ cd clone $ git fetch origin : error: * Ignoring funny ref 'refs/heads/' locally $ git --version git version 1.6.0.4 $ exit
PATCH 1/1 fetch: do not create ref from empty name
Previously, the refspec "<src>:" would be expanded to "<src>:refs/heads/". Instead, treat an empty <dst> just like refspecs without a colon.
Signed-off-by Clemens Buchacher <[email protected]>
---
Quoted 3 lines · Jon Seymour
Can someone tell me why this happens?
error: * Ignoring funny ref 'refs/heads/' locally
This fixes it.
Note that "git fetch origin :" is short for "git fetch origin HEAD", which stores the remote HEAD in FETCH_HEAD. You probably want "git fetch origin", without an explicit refspec, which defaults to "git fetch origin 'refs/heads/*:refs/remotes/origin/*'", i.e. store remote branches in the namespace for tracking branches.
Clemens
remote.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
remote.c +1 -1
@@ -1263,7 +1263,7 @@ struct ref *get_remote_ref(const struct ref *remote_refs, const char *name)static struct ref *get_local_ref (const char *name) { -if (!name) +if (!name || name[0 ] =='\0' )return NULL ;if (!prefixcmp (name,"refs/" ))
Signature · 1 line
1.6.3.1.147.g637c3