From: Phillip Wood Date: Wed, 18 Sep 2024 10:05:21 GMT Subject: Re: Suggestion to Enhance Submodule Initialization Behavior During git clone Message-ID: In-Reply-To: Hi Ryan On 17/09/2024 19:14, Ryan Barker wrote: > Currently, when a user clones a Git repository with submodules, the > submodules defined in the |.gitmodules| file are not automatically > initialized in the local |.git/config| of the cloned repository. One can pass '--recurse-submodules' when cloning which will recursively clone the submodules used by the repository and sets 'submodule.active'. Best Wishes Phillip > While I > understand there may be edge cases where this behavior is desirable, it > would significantly improve usability if there were an option to > automatically initialize submodules during |git clone|. I believe this > could be accomplished by adding a flag, or perhaps enabling > auto-initialization by default, with an optional flag to disable it when > necessary. > To mitigate this issue in my project, I created defensive scripts to > ensure that submodules are initialized before interacting with them, but > this was a point of confusion for many users who were unfamiliar with > submodules. In my opinion, auto-initializing submodules during the clone > process would be a more intuitive default behavior for most users, > especially those in educational environments, like students using GitHub > Classroom. > I have attached my source code for further context, and my repository > can be found here: https://github.com/rcbarke/clemson-ece-2230-grading/ > , though it is > private due to the grading scripts it contains. > I would appreciate your thoughts on this suggestion and whether this > behavior could be incorporated into future Git releases. > Thank you for your time! > Best, > * > * > *Ryan Barker* > * > * > *Graduate Assistant* > *IS-WiN Laboratory* > M.S. Computer Engineering, Intelligent Systems, Class of 2026 > B.S. Computer Engineering, Communication Systems & Networks, Class of 2016 > > Logos | Clemson University, South Carolina > >