{"thread":{"id":"56194","subject":"[GSoC] My Git Dev Blog – Week 11","startedAt":"2021-08-01T13:51:59Z","lastAt":"2021-08-17T05:01:41Z","messageCount":6,"participants":["Atharva Raykar","Christian Couder","Johannes Schindelin"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"431654","messageId":"m2lf5lxog6.fsf@gmail.com","threadId":"56194","inReplyTo":null,"subject":"[GSoC] My Git Dev Blog – Week 11","fromName":"Atharva Raykar","fromEmail":"raykar.ath@gmail.com","sentAt":"2021-08-01T13:45:41Z","receivedAt":"2021-08-01T13:51:59Z","isPatch":false,"sender":{"key":"raykar.ath@gmail.com","avatar":"https://avatars.githubusercontent.com/u/24277692?v=4"},"body":"(Resent this email, because it bounced off the list again. My new config is\nstill a bit janky, so bear with me.)\n\nHi all,\n\nHere’s my weekly Git Blog.\n\nPreview:\n\n- Project progress: where I discuss a rough plan for making ’git submodule’ a\n  true builtin.\n\n- Reflections: A summary of last week’s survey answers [1][2], and an\n  explanation of my own slightly weird email setup that was borne out of the\n  troubles I had in the last week.\n\n[1] <https://lore.kernel.org/git/90b6bd2d-71e1-b8af-e027-8023f8d4f14c@gmail.com/>\n[2] <https://atharvaraykar.me/gitnotes/week10#the-mailing-list-developer-workflow>\n\nHave a great week!\n---\nAtharva Raykar\nಅಥರ್ವ ರಾಯ್ಕರ್\nअथर्व रायकर\n"},{"id":"431655","messageId":"m2k0l5xo1q.fsf@gmail.com","threadId":"56194","inReplyTo":"m2lf5lxog6.fsf@gmail.com","subject":"Re: [GSoC] My Git Dev Blog – Week 11","fromName":"Atharva Raykar","fromEmail":"raykar.ath@gmail.com","sentAt":"2021-08-01T14:00:33Z","receivedAt":"2021-08-01T14:00:40Z","isPatch":false,"sender":{"key":"raykar.ath@gmail.com","avatar":"https://avatars.githubusercontent.com/u/24277692?v=4"},"body":"\nWelp. I forgot the actual link to the blog.\n\nHere it is:\nhttps://atharvaraykar.me/gitnotes/week11\n\nAtharva Raykar <raykar.ath@gmail.com> writes:\n\n> (Resent this email, because it bounced off the list again. My \n> new config is\n> still a bit janky, so bear with me.)\n>\n> Hi all,\n>\n> Here’s my weekly Git Blog.\n>\n> Preview:\n>\n> - Project progress: where I discuss a rough plan for making ’git \n> submodule’ a\n>   true builtin.\n>\n> - Reflections: A summary of last week’s survey answers [1][2], \n> and an\n>   explanation of my own slightly weird email setup that was \n>   borne out of the\n>   troubles I had in the last week.\n>\n> [1] \n> <https://lore.kernel.org/git/90b6bd2d-71e1-b8af-e027-8023f8d4f14c@gmail.com/>\n> [2] \n> <https://atharvaraykar.me/gitnotes/week10#the-mailing-list-developer-workflow>\n>\n> Have a great week!\n> ---\n> Atharva Raykar\n> ಅಥರ್ವ ರಾಯ್ಕರ್\n> अथर्व रायकर\n"},{"id":"431663","messageId":"CAP8UFD0V3hoDUkeMyAaeo_=cZ46P-Yka1v67FFNbQ5Me5Hh_+g@mail.gmail.com","threadId":"56194","inReplyTo":"m2k0l5xo1q.fsf@gmail.com","subject":"Re: [GSoC] My Git Dev Blog – Week 11","fromName":"Christian Couder","fromEmail":"christian.couder@gmail.com","sentAt":"2021-08-02T06:52:43Z","receivedAt":"2021-08-02T06:52:57Z","isPatch":false,"sender":{"key":"christian.couder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/208954?v=4"},"body":"On Sun, Aug 1, 2021 at 4:00 PM Atharva Raykar <raykar.ath@gmail.com> wrote:\n\n> Here it is:\n> https://atharvaraykar.me/gitnotes/week11\n\nGreat, thanks!\n\n> > Preview:\n> >\n> > - Project progress: where I discuss a rough plan for making ’git\n> > submodule’ a\n> >   true builtin.\n\nSo your plan is the following:\n\n  - Rename git-submodule.sh to git-submodule-legacy.sh.\n  - Create builtin/submodule.c, that will read from a config switch\ncalled ‘submodule.useBuiltin’. If this is set to false, just call the\nlegacy shell script, else use the builtin versions.\n  - Copy the functions from builtin/submodule--helper.c to\nbuiltin/submodule.c one by one. Make necessary changes in the flag\nparsing.\n  - Once all the functions have been successfully copied, make the\ndefault value of submodule.useBuiltin to true.\n  - …eventually remove submodule--helper.c and the shell script\nentirely, and deprecate the ‘submodule.useBuiltin’ option.\n\nI wonder though how in the tests you are going to check both the new\nbuiltin submodule and the old git-submodule.sh? Do you plan to run the\ntests twice (once with submodule.useBuiltin set to true, and once with\nit set to false)?\n"},{"id":"431677","messageId":"m2pmuwrp7x.fsf@gmail.com","threadId":"56194","inReplyTo":"CAP8UFD0V3hoDUkeMyAaeo_=cZ46P-Yka1v67FFNbQ5Me5Hh_+g@mail.gmail.com","subject":"Re: [GSoC] My Git Dev Blog – Week 11","fromName":"Atharva Raykar","fromEmail":"raykar.ath@gmail.com","sentAt":"2021-08-02T12:44:02Z","receivedAt":"2021-08-02T12:44:09Z","isPatch":false,"sender":{"key":"raykar.ath@gmail.com","avatar":"https://avatars.githubusercontent.com/u/24277692?v=4"},"body":"\nChristian Couder <christian.couder@gmail.com> writes:\n\n> On Sun, Aug 1, 2021 at 4:00 PM Atharva Raykar \n> <raykar.ath@gmail.com> wrote:\n>\n>> Here it is:\n>> https://atharvaraykar.me/gitnotes/week11\n>\n> Great, thanks!\n>\n>> > Preview:\n>> >\n>> > - Project progress: where I discuss a rough plan for making \n>> > ’git\n>> > submodule’ a\n>> >   true builtin.\n>\n> So your plan is the following:\n>\n>   - Rename git-submodule.sh to git-submodule-legacy.sh.\n>   - Create builtin/submodule.c, that will read from a config \n>   switch\n> called ‘submodule.useBuiltin’. If this is set to false, just \n> call the\n> legacy shell script, else use the builtin versions.\n>   - Copy the functions from builtin/submodule--helper.c to\n> builtin/submodule.c one by one. Make necessary changes in the \n> flag\n> parsing.\n>   - Once all the functions have been successfully copied, make \n>   the\n> default value of submodule.useBuiltin to true.\n>   - …eventually remove submodule--helper.c and the shell script\n> entirely, and deprecate the ‘submodule.useBuiltin’ option.\n>\n> I wonder though how in the tests you are going to check both the \n> new\n> builtin submodule and the old git-submodule.sh? Do you plan to \n> run the\n> tests twice (once with submodule.useBuiltin set to true, and \n> once with\n> it set to false)?\n\nYeah, that is what I thought of doing--first test only the \ncomponent\nthat was ported with the configuration set to true, and then test \nthe\nwhole thing with the configuration set to false. It does slightly\ncomplicate things more than I'd like, but I cannot think of a \nbetter\nway.\n\nFrom what I could discern from the older threads and other similar\nefforts, this was how it was done.\n"},{"id":"432799","messageId":"nycvar.QRO.7.76.6.2108161500200.55@tvgsbejvaqbjf.bet","threadId":"56194","inReplyTo":"m2pmuwrp7x.fsf@gmail.com","subject":"Re: [GSoC] My Git Dev Blog – Week 11","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2021-08-16T13:02:56Z","receivedAt":"2021-08-16T13:03:05Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Mon, 2 Aug 2021, Atharva Raykar wrote:\n\n>\n> Christian Couder <christian.couder@gmail.com> writes:\n>\n> > On Sun, Aug 1, 2021 at 4:00 PM Atharva Raykar <raykar.ath@gmail.com> wrote:\n> >\n> > > Here it is:\n> > > https://atharvaraykar.me/gitnotes/week11\n> >\n> > Great, thanks!\n> >\n> > > > Preview:\n> > > >\n> > > > - Project progress: where I discuss a rough plan for making ’git\n> > > > submodule’ a\n> > > >   true builtin.\n> >\n> > So your plan is the following:\n> >\n> >   - Rename git-submodule.sh to git-submodule-legacy.sh.\n> >   - Create builtin/submodule.c, that will read from a config switch\n> > called ‘submodule.useBuiltin’. If this is set to false, just call the\n> > legacy shell script, else use the builtin versions.\n> >   - Copy the functions from builtin/submodule--helper.c to\n> > builtin/submodule.c one by one. Make necessary changes in the flag\n> > parsing.\n> >   - Once all the functions have been successfully copied, make the\n> > default value of submodule.useBuiltin to true.\n> >   - …eventually remove submodule--helper.c and the shell script\n> > entirely, and deprecate the ‘submodule.useBuiltin’ option.\n> >\n> > I wonder though how in the tests you are going to check both the new\n> > builtin submodule and the old git-submodule.sh? Do you plan to run the\n> > tests twice (once with submodule.useBuiltin set to true, and once with\n> > it set to false)?\n>\n> Yeah, that is what I thought of doing--first test only the component\n> that was ported with the configuration set to true, and then test the\n> whole thing with the configuration set to false. It does slightly\n> complicate things more than I'd like, but I cannot think of a better\n> way.\n>\n> From what I could discern from the older threads and other similar\n> efforts, this was how it was done.\n\nYou can use the `linux-gcc` job for that, imitating how b2627cc3d4b (ci:\ninclude the built-in `git add -i` in the `linux-gcc` job, 2020-01-14) did\nit for the built-in `git add --interactive`:\n\n    ci: include the built-in `git add -i` in the `linux-gcc` job\n\n    This job runs the test suite twice, once in regular mode, and once\n    with a whole slew of `GIT_TEST_*` variables set.\n\n    Now that the built-in version of `git add --interactive` is\n    feature-complete, let's also throw `GIT_TEST_ADD_I_USE_BUILTIN` into\n    that fray.\n\n    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>\n    Signed-off-by: Junio C Hamano <gitster@pobox.com>\n\ndiff --git a/ci/run-build-and-tests.sh b/ci/run-build-and-tests.sh\nindex ff0ef7f08e7..4df54c4efea 100755\n--- a/ci/run-build-and-tests.sh\n+++ b/ci/run-build-and-tests.sh\n@@ -20,6 +20,7 @@ linux-gcc)\n        export GIT_TEST_OE_DELTA_SIZE=5\n        export GIT_TEST_COMMIT_GRAPH=1\n        export GIT_TEST_MULTI_PACK_INDEX=1\n+       export GIT_TEST_ADD_I_USE_BUILTIN=1\n        make test\n        ;;\n linux-gcc-4.8)\n\nCiao,\nDscho\n"},{"id":"432900","messageId":"m2h7foaclt.fsf@gmail.com","threadId":"56194","inReplyTo":"nycvar.QRO.7.76.6.2108161500200.55@tvgsbejvaqbjf.bet","subject":"Re: [GSoC] My Git Dev Blog – Week 11","fromName":"Atharva Raykar","fromEmail":"raykar.ath@gmail.com","sentAt":"2021-08-17T05:01:34Z","receivedAt":"2021-08-17T05:01:41Z","isPatch":false,"sender":{"key":"raykar.ath@gmail.com","avatar":"https://avatars.githubusercontent.com/u/24277692?v=4"},"body":"\nJohannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n\n> Hi,\n>\n> On Mon, 2 Aug 2021, Atharva Raykar wrote:\n>\n>> [...]\n>\n> You can use the `linux-gcc` job for that, imitating how b2627cc3d4b (ci:\n> include the built-in `git add -i` in the `linux-gcc` job, 2020-01-14) did\n> it for the built-in `git add --interactive`:\n>\n>     ci: include the built-in `git add -i` in the `linux-gcc` job\n>\n>     This job runs the test suite twice, once in regular mode, and once\n>     with a whole slew of `GIT_TEST_*` variables set.\n>\n>     Now that the built-in version of `git add --interactive` is\n>     feature-complete, let's also throw `GIT_TEST_ADD_I_USE_BUILTIN` into\n>     that fray.\n>\n>     Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>\n>     Signed-off-by: Junio C Hamano <gitster@pobox.com>\n>\n> diff --git a/ci/run-build-and-tests.sh b/ci/run-build-and-tests.sh\n> index ff0ef7f08e7..4df54c4efea 100755\n> --- a/ci/run-build-and-tests.sh\n> +++ b/ci/run-build-and-tests.sh\n> @@ -20,6 +20,7 @@ linux-gcc)\n>         export GIT_TEST_OE_DELTA_SIZE=5\n>         export GIT_TEST_COMMIT_GRAPH=1\n>         export GIT_TEST_MULTI_PACK_INDEX=1\n> +       export GIT_TEST_ADD_I_USE_BUILTIN=1\n>         make test\n>         ;;\n>  linux-gcc-4.8)\n\nThanks, this is helpful!\n"}]}