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

Re: Submodule confusion when checking out branch

From
Jens Lehmann <jens.lehmann@web.de>
Date
Oct 11, 2011, 17:35 UTC
Message-ID
<4E947E48.7080201@web.de>
In-Reply-To
<CAHVO_90rHbqqUx6HCh7tLWO9aP9PyPMpYnZGszCDB2bfNzUXAQ@mail.gmail.com>
Am 11.10.2011 11:38, schrieb Howard Miller:
Show 17 quoted lines
> I added a submodule to my project like this (all from the root of the project)
> 
> git submodule add git@.....   path/to/submodule
> git submodule init
> git add path/to/submodule
> git commit -m 'I added a submodule!'
> git push
> 
> All looks good and 'git status' reports 'nothing to commit'
> 
> However, I now cannot change branches. On checkout, I get...
> 
> "error: The following untracked working tree files would be
> overwritten by checkout:"
> (followed by a big list of all the files in the submodule)
> 
> Where did I go wrong and what can I do to sort it?

Hmm, as I don't know for what checkout you see this problem (do you switch from a branch containing the submodule to one that doesn't have it or the other way round?) and assuming you had some files committed in the directory where the submodule lives I can take a guess what happened:

Could it be the case that you converted an existing directory into a submodule and then get this error when you want to switch back to a branch where this directory is still filled with the original files?

Then this is a known shortcoming of submodules at the moment. I have experimental code to make Git work in that case but it is not ready for inclusion yet.

Previous: Howard Miller
Message 2 of 2 in “Submodule confusion when checking out branch”
  1. Howard MillerOct 11, 2011
  2. Jens LehmannOct 11, 2011

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.