On 18-Jul-2021, at 23:09, Kaartic Sivaraam <kaartic.sivaraam@xxxxxxxxx> wrote: > > Hi Atharva, > > On 13/07/21 2:16 pm, Atharva Raykar wrote: >> I was seeing if it was possible to at least save another spawn for calling >> init when '--init' is provided for an update. The current implementation >> does not spawn a separate process for this, so I was hoping I don't add >> more overhead in the conversion, but it's looking hard to avoid at the >> moment. > > I'm having some difficulties understanding this. I tried to take a look > at the existing code[2][3] in 'git-submodule.sh', I could only see that > if '--init' is passed to update, it calls the 'cmd_update' shell function > which in turn does invoke 'git submodule--helper init'. OTOH, if '--recursive' > is passed 'cmd_update' itself is called recursively called after setting > the 'prefix' and 'wt_prefix' shell variables. > > So, I'm not sure how you mean to say that a sub-process was not spawned > when '--init' is passed. Could you clarify this a little? > >>> [1]: https://public-inbox.org/git/20180205235508.216277-1-sbeller@xxxxxxxxxx/ >>> > > [2]: https://github.com/git/git/blob/abb21c7263616f01c5e950861a29279ab21cb02f/git-submodule.sh#L530-L533 > > [3]: https://github.com/git/git/blob/abb21c7263616f01c5e950861a29279ab21cb02f/git-submodule.sh#L651-L673 My mistake. When I wrote that paragraph, I had considered the shell call in my head to be "git submodule init" and not "git submodule--helper init". In the former case, there would be an extra subprocess because 'submodule init' will in turn spawn 'submodule--helper init'. So in short, there would have been no difference between the two versions had I gone down that route.