From: Jonathan Nieder Date: Wed, 01 Dec 2010 18:50:46 GMT Subject: [RFC/PATCH] Re: git submodule -b ... of current HEAD fails Message-ID: <20101201185046.GB27024@burratino> In-Reply-To: <20101201171814.GC6439@ikki.ethgen.de> git submodule add -b $branch $repository fails when HEAD already points to $branch in $repository. Reported-by: Klaus Ethgen Signed-off-by: Jonathan Nieder --- Hi Klaus, Klaus Ethgen wrote at : > Strange problem, if I create a submodule of an other repository giving > the currently used HEAD branch I get the error: »fatal: git checkout: > branch myimbabranch already exists« while when giving other branch > work well. Interesting. The problem is in cmd_add of git-submodule.sh; this patch demonstrates a quick fix. Jens, any idea why git submodule is not using "clone --branch" directly? diff --git a/git-submodule.sh b/git-submodule.sh index 33bc41f..6242d7f 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -241,7 +241,7 @@ cmd_add() # ash fails to wordsplit ${branch:+-b "$branch"...} case "$branch" in '') git checkout -f -q ;; - ?*) git checkout -f -q -b "$branch" "origin/$branch" ;; + ?*) git checkout -f -q -B "$branch" "origin/$branch" ;; esac ) || die "Unable to checkout submodule '$path'" fi