[RFC/PATCH] Re: git submodule -b ... of current HEAD fails
- From
Jonathan Nieder <jrnieder@gmail.com>
- Date
- Dec 1, 2010, 18:50 UTC
- 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 <Klaus@Ethgen.de> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> --- Hi Klaus,
Klaus Ethgen wrote at <http://bugs.debian.org/605600>:
> 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