Hello,
I have been working on extending GitHub Classroom's grading workflow by integrating submodules to streamline the grading process. Through this work, I have encountered limitations related to how submodules are handled when a repository is cloned.
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. 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!
|
<<attachment: clemson-ece-2230-grading-main.zip>>