git/list[1] front-page[2] threads[3] people[4] search[5] about
 

git failing to create new branches, depending on the name

From
ASArtur Skawina <art.08.09@gmail.com>
Date
Aug 8, 2009, 15:32 UTC
Message-ID
<4A7D9AA7.1030709@gmail.com>

One of my build scripts, which takes a 'work' git tree, clones it to make a build tree, then creates an unique branch there and goes on to do the rest of the work, started mysteriously failing recently . Turns out git doesn't like the branch names that my script is choosing and git-checkout fails with a misleading fatal error. I don't remember changing the script recently and it used to work for months, something must have changed.

This is what i did while trying to find why the checkout is failing:
+ git --version
git version 1.6.4
+ rm -rf /tmp/build-tree
+ git clone -l -s -n -o askern --reference /tmp/work-tree /tmp/work-tree /tmp/build-tree
Initialized empty Git repository in /tmp/build-tree/.git/
+ cd /tmp/build-tree
+ git branch -a | grep g90bc1a6 
+ git checkout -f -b branch-g90bc1a6 askern/release
fatal: git checkout: branch branch-g90bc1a6 already exists
# WTF?
+ (
+  cd /tmp/work-tree
+  git branch -a | grep g90bc1a6
+ )
# nothing in parent repo either.
+ git checkout -f branch-g90bc1a6 
Checking out files: 100% (29109/29109), done.
Note: moving to 'branch-g90bc1a6' which isn't a local branch
If you want to create a new branch from this checkout, you may do so
(now or later) by using -b with the checkout command again. Example:
  git checkout -b <new_branch_name>
HEAD is now at 90bc1a6... Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
# so where is coming from?
+ git branch -a | grep g90bc1a6
+ git status
# Not currently on any branch.
nothing to commit (working directory clean)
+  git show --pretty=short 90bc1a6 | cat
commit 90bc1a658a53f8832ee799685703977a450e5af9
Merge: 6ce90c4 54822de
Author: Linus Torvalds <torvalds@linux-foundation.org>
    Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
# Aha

So what appears to be happening is that the script picks up the 90bc1a6 suffix (it gets it from git-describe), uses it as part of the branch name and then git misinterprets it. (the actual names used by the script are much longer, i used "branch-g90bc1a6" only to figure what was going on)

artur
Next: Thomas Rast
Message 1 of 4 in “git failing to create new branches, depending on the name”
  1. Artur SkawinaAug 8, 2009
  2. Thomas RastAug 8, 2009
  3. Artur SkawinaAug 8, 2009
  4. Daniel BarkalowAug 8, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.