git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Suggestion to Enhance Submodule Initialization Behavior During git clone
@ 2024-09-17 18:14 Ryan Barker
  2024-09-18 10:05 ` Phillip Wood
  0 siblings, 1 reply; 2+ messages in thread
From: Ryan Barker @ 2024-09-17 18:14 UTC (permalink / raw)
  To: git@vger.kernel.org


[-- Attachment #1.1: Type: text/plain, Size: 1886 bytes --]

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!
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/>



[-- Attachment #1.2: Type: text/html, Size: 6608 bytes --]

[-- Attachment #2: clemson-ece-2230-grading-main.zip --]
[-- Type: application/zip, Size: 190731 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Suggestion to Enhance Submodule Initialization Behavior During git clone
  2024-09-17 18:14 Suggestion to Enhance Submodule Initialization Behavior During git clone Ryan Barker
@ 2024-09-18 10:05 ` Phillip Wood
  0 siblings, 0 replies; 2+ messages in thread
From: Phillip Wood @ 2024-09-18 10:05 UTC (permalink / raw)
  To: Ryan Barker, git@vger.kernel.org

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/>
> 
> 

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-09-18 10:05 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-17 18:14 Suggestion to Enhance Submodule Initialization Behavior During git clone Ryan Barker
2024-09-18 10:05 ` Phillip Wood

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).