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/
<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 <https://www.clemson.edu/>