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

Re: Possible bug with checkout and submodules

From
Philippe Blain <levraiphilippeblain@gmail.com>
Date
Oct 17, 2021, 00:30 UTC
Message-ID
<0d8ade7b-e5af-88ec-3e33-96d6c356b714@gmail.com>
In-Reply-To
<YWsffmtRQKQGxkiR@camp.crustytoothpaste.net>
Hi Adam,
Le 2021-10-16 à 14:52, brian m. carlson a écrit :
Show 39 quoted lines
> On 2021-10-16 at 18:44:04, Adam Hutchings wrote:
>> Hi,
>>
>> I may have found a bug in Git but I'm not sure if it's intentional or not. I
>>
>> checked out to a new branch to test a PR on my repo, and the PR added a
>>
>> submodule. I init'ed and updated the submodule, and when I was done testing, I
>>
>> went back to my main branch. However, it did not remove the submodule, and
>>
>> produced this message:
>>
>>
>> ```
>>
>> $ git checkout main
>>
>> warning: unable to rmdir 'glfw': Directory not empty
>>
>> Switched to branch 'main'
>>
>> $
>>
>> ```
>>
>>
>> A friend of mine has managed to reproduce this behavior. We believe the expected
>>
>> outcome is to remove the submodule folder, but this does not seem to happen. Is
>>
>> this intentional?
> 
> This is intentional.  It may be that the submodule has data that's
> ignored, it could have local changes, or it could have additional
> unpushed history, any of which would probably be data users might not
> want to lose.  As a result, we don't remove the directory unless the
> user has run "git submodule deinit".
> 

... or unless you run 'git checkout --recurse-submodules', or just 'git checkout' and you have 'submodule.recurse' set to true in your configuration.

Cheers, Philippe.

Previous: Adam Hutchings
Message 4 of 4 in “Possible bug with checkout and submodules”
  1. Adam HutchingsOct 16, 2021
  2. brian m. carlsonOct 16, 2021
  3. Adam HutchingsOct 16, 2021
  4. Philippe BlainOct 17, 2021

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.