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

gitconfig get out of sync with submodule entries on branch switch

From
BSBenjamin Schindler <beschindler@gmail.com>
Date
Jan 30, 2017, 16:21 UTC
Message-ID
<0f14df64-1aa2-e671-9785-4e5e0a076ae6@gmail.com>
Hi

Consider the following usecase: I have the master branch where I have a submodule A. I create a branch where I rename the submodule to be in the directory B. After doing all of this, everything looks good. Now, I switch back to master. The first oddity is, that it fails to remove the folder B because there are still files in there:

bschindler@metis ~/Projects/submodule_test (testbranch) $ git checkout master warning: unable to rmdir other_submodule: Directory not empty Switched to branch 'master'

Git submodule deinit on B fails because the submodule is not known to git anymore (after all, the folder B exists only in the other branch). I can easily just remove the folder B from disk and initialize the submodule A again, so all seems good.

However, what is not good is that the submodule b is still known in .git/config. This is in particular a problem for us, because I know a number of tools which use git config to retrieve the submodule list. Is it therefore a bug that upon branch switch, the submodule gets deregistered, but its entry in .git/config remains?

thanks a lot Benjamin Schindler

P.s. I did not subscribe to the mailing list, please add me at least do CC. Thanks

Next: Brandon Williams
Message 1 of 7 in “gitconfig get out of sync with submodule entries on branch switch”
  1. Benjamin SchindlerJan 30, 2017
  2. Brandon WilliamsJan 30, 2017
  3. Benjamin SchindlerJan 31, 2017
  4. Stefan BellerJan 31, 2017
  5. Stefan BellerFeb 6, 2017
  6. Benjamin SchindlerFeb 6, 2017
  7. Stefan BellerFeb 8, 2017

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.