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

[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
Next: Jens Lehmann
Message 1 of 16 in “Re: git submodule -b ... of current HEAD fails”
  1. Re: git submodule -b ... of current HEAD failsJonathan Nieder, Dec 1, 2010
  2. Jens LehmannDec 2, 2010
  3. Mark LevedahlDec 3, 2010
  4. Ben JacksonDec 3, 2010
  5. Jonathan NiederDec 3, 2010
  6. git submodule: Remove now obsolete tests before cloning a repoJens Lehmann, Dec 4, 2010
  7. Junio C HamanoDec 7, 2010
  8. Jens LehmannDec 8, 2010
  9. git submodule -b ... of current HEAD failsJens Lehmann, Dec 8, 2010
  10. Jonathan NiederDec 8, 2010
  11. Junio C HamanoDec 28, 2010
  12. Jens LehmannDec 29, 2010
  13. Junio C HamanoDec 29, 2010
  14. Jens LehmannDec 29, 2010
  15. Re* [RFC/PATCH] Re: git submodule -b ... of current HEAD failsJunio C Hamano, Dec 29, 2010
  16. Jens LehmannDec 29, 2010

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.