On Sun, Aug 1, 2021 at 4:00 PM Atharva Raykar <raykar.ath@xxxxxxxxx> wrote: > Here it is: > https://atharvaraykar.me/gitnotes/week11 Great, thanks! > > Preview: > > > > - Project progress: where I discuss a rough plan for making ’git > > submodule’ a > > true builtin. So your plan is the following: - Rename git-submodule.sh to git-submodule-legacy.sh. - Create builtin/submodule.c, that will read from a config switch called ‘submodule.useBuiltin’. If this is set to false, just call the legacy shell script, else use the builtin versions. - Copy the functions from builtin/submodule--helper.c to builtin/submodule.c one by one. Make necessary changes in the flag parsing. - Once all the functions have been successfully copied, make the default value of submodule.useBuiltin to true. - …eventually remove submodule--helper.c and the shell script entirely, and deprecate the ‘submodule.useBuiltin’ option. I wonder though how in the tests you are going to check both the new builtin submodule and the old git-submodule.sh? Do you plan to run the tests twice (once with submodule.useBuiltin set to true, and once with it set to false)?