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@xxxxxxxxxxxxxxxxxxxx> 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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html