{"thread":{"id":"57747","subject":"[GSoC][RFC][Proposal] Unify ref filters in pretty.{c,h}","startedAt":"2022-04-17T18:17:12Z","lastAt":"2022-04-22T08:42:47Z","messageCount":7,"participants":["Jaydeep Das","Kaartic Sivaraam","Hariom verma","Christian Couder","jaydeepjd.8914@gmail.com","ZheNing Hu"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"453797","messageId":"7f2e9c1b-1d01-00af-810f-c81dd38c12ad@gmail.com","threadId":"57747","inReplyTo":null,"subject":"[GSoC][RFC][Proposal] Unify ref filters in pretty.{c,h}","fromName":"Jaydeep Das","fromEmail":"jaydeepjd.8914@gmail.com","sentAt":"2022-04-17T18:17:02Z","receivedAt":"2022-04-17T18:17:12Z","isPatch":false,"sender":{"key":"jaydeepjd.8914@gmail.com","avatar":"https://avatars.githubusercontent.com/u/64089730?v=4"},"body":"\nSorry for being late in submitting the proposal. My end semester\nexaminations were over just yesterday so I somehow made this proposal\nduring the exam time.\n\n===============\nView in Google Docs: \nhttps://docs.google.com/document/d/1qq-Xze6dMGMSx3rPHD0VEc4f0a87KnHgbka1Dzpf8sc/edit?usp=sharing\n===============\nProposal\n===============\n\nUnify ref-filters with other pretty formats.\n\nName\t\t:\tJaydeep Prapanch Das\nEmail\t\t:\tjaydeepjd.8914@gmail.com\nContact\t\t:\t+91 6026139802\nGithub\t\t:\tJDeepD(https://github.com/JDeepD)\nLinkedin\t:\thttps://www.linkedin.com/in/jdeepd\nCourse\t\t:\tComputer Science and Engineering, 2025\nTime Zone\t:\tIST(+5:30)\n\n## About me:\n\nI am a first year undergraduate at National Institute of Technology, \nSilchar  pursuing B.Tech in Computer Science and Engineering. My \ninterests include FOSS development, Data Science and Robotics. I have \nbeen writing Python, C and shell scripts for about 3 years now. Apart \nfrom that I also blog[1] whenever I find an interesting topic to blog \nabout. During the GSoC period I also plan to blog about the new things \nin git that I hope to learn.\n\n[1]: https://jdeep.me/\n\n## Micro-Project:\n\nI am still a newbie in git development and made my first (minor) \ncontribution in Feb 2022 [1]. This was a patch I made just to get \nfamiliar with the patching and sending patches to the mailing list. For \nmy micro project, I worked on adding diff driver for the Kotlin language.[2]\nThe main objective was to make an xfuncname regex which matches keywords \nin Kotlin syntax so that they are considered as a single token\nwhenever diffs are generated. Along with that, a word_regex regex pattern\nwas also needed so that variable names, compound operators etc are not\nbroken into individual tokens by git diff when there is a change in them.\nFor ex,  if a == b is changed to  a != b , then the diff should show \nthat entire\n`==` token is replaced with the token `!=`. While working on this micro \nproject, I learned a lot about the contribution and review workflow of \ngit. It took 7 patches to incorporate all the reviews and suggestions so \nyeah, It did require some patience :-).\n\n\nMinor patch(merged in master)\n[1]: \nhttps://public-inbox.org/git/20220208092339.651761-2-jaydeepjd.8914@gmail.com/\n\nMicro Project(merged in master)\n[2]: \nhttps://public-inbox.org/git/20220312044832.718356-1-jaydeepjd.8914@gmail.com/\n\n\n## Proposal:\n\nGit has an old problem of duplicated implementations of some logic. For \nexample, Git has at least 4 implementations to format commands for \ndifferent commands. Previously, Olga Telezhnaya[1] and Hariom Verma[2] \nworked on this and eliminated most of the duplicate logic. But still, \nthere are still some things left to do. Current task is to reuse \nref-filter logic in pretty.\n\n[1]: https://github.com/telezhnaya/git/commits/format\n[2]: \nhttps://public-inbox.org/git/pull.707.git.1597841551.gitgitgadget@gmail.com/\n\n## Previous Work:\nPrevious GSoC mentee Hariom Verma worked on this[1]. He worked on \nremoving duplicate logic and reuse ref-filter’s logic in pretty. \nHowever, as per his report, some tasks are still left to do.\n\n-> Around 30% log related tests are failing\n-> Teach pretty-lib.{c,h} to handle incorrect formatting option\n-> Email/MBoxed commit format needs work\n\n[1]: https://harry-hov.github.io/blogs/posts/the-final-report\n\n## GSoC Planning:\nThe main objective would be to start from where Hariom left and make \nfurther improvements in the related field if time permits.\n\nCurrently, because my end sems were just over yesterday, I am yet to do \na full reading/understanding of the pretty and ref-filter code. I plan \nto first read the documentation of git-log and study the pretty formats \nand their implementation. Next would be to read the code and understand \nhow it is working under the hood and try to find possible bugs and edge \ncases where the tests fail. I have already gone through the various \nmust-read documentations suggested in the Hacking git[1] section of the \ngit-scm website:\n\nMy First Contribution Tutorial[2]\nMy First Object Walk[3]\n\nApart from that, I also have a decent understanding of git internals, \nobjects and porcelain commands from the Git Internals[4] documentation.\nI want to start as early as possible since my main motivation for \ncontributing to git is to improve something that millions of people, \nincluding me, use everyday in their day to day life.\n\n\n[1]: https://git.github.io/Hacking-Git/\n[2]: http://git-scm.com/docs/MyFirstContribution\n[3]: \nhttps://github.com/git/git/blob/master/Documentation/MyFirstObjectWalk.txt\n[4]: https://git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Porcelain\n\n\n\nEstimated Timeline:\n\n-> April 20 - May 14\nRead the docs and go through the codebase. Make small code contribution \nif possible.\n\n-> May 14 - May 21\nInactive Period\nThe covid lockdown is almost lifted and I would need to report back \noffline to college. So I would probably be busy for a week to get \nsettled there.\n\n-> May 22 - June 5\nCommunity Bonding Period\nGet in touch with the possible mentors(Christian Couder and Hariom \nVerma) and discuss the possible solutions.\n\n-> June 6 - June 11\nInactive Period\nWill be inactive for the week due to mid semester examinations\n\n-> June 11 - July 24\nCoding Phase 1\nFix the test cases that are failing\nEliminate more duplicate logic in pretty.{c,h}.\nUpdate the documentation\n\nJuly 25 - August 20\nCoding Phase 2 (part 1)\nTeach pretty.{c,h} to handle incorrect formatting options.\nMake improvements in email/mboxed commit formats.\nUpdate documentation\n\n\nAugust 22 - August 27\nInactive Period\nWill be inactive for the week due to end semester examinations.\n\nAugust 27 - September 19\nCoding Phase 2 (part 2)\nStart where it left off in part 1 of coding phase 2.\n\nDuring the coding phase 1, I would be able to dedicate 4 - 5 hours every \nworking day. On weekends, I could dedicate the entire day or take a \nbreak depending upon the number of assignments I get. During the coding \nphase 2 part 1, I will be able to dedicate 4 - 5 hours easily except the \nhours may decrease some days before the end semester examinations.\n\n## Blogging during the contribution period:\nI plan to write bi monthly/monthly blogs during the contribution period \nwhich I would post on my personal website[1]. I would write about my \nprogress and the new things that I will learn when I contribute to git.\nI also plan to make a complete video tutorial after the GSoC period \nabout the contribution workflow in the git codebase since I believe it \nwould have greatly helped newcomers (like me) to get started quickly.\n\n[1]: https://jdeep.me/posts/\n\n## Post GSoC:\nI would love to explore the git codebase and I am particularly \ninterested in the sparse index feature of git. I would also love to \nco-mentor someone someday when I get more experience in the codebase. I \nhave also noticed that there are some lesser known/underrated features \nof git ( like partial clones, sparse checkout, worktrees) and I plan to \nmake video tutorials on these topics too.\n\n## Closing Remarks:\nAs a whole, I feel it would be a great learning experience for me as \nthis would be the first “really” big open source project where I would \nbe contributing to. I am really excited about being a part of the git \ncommunity.\n\nEagerly waiting for review.\n\nThanks,\nJaydeep\n"},{"id":"453896","messageId":"bff6bdc8-83ef-7fa4-3554-edc0b7af1dfe@gmail.com","threadId":"57747","inReplyTo":"7f2e9c1b-1d01-00af-810f-c81dd38c12ad@gmail.com","subject":"Re: [GSoC][RFC][Proposal] Unify ref filters in pretty.{c,h}","fromName":"Kaartic Sivaraam","fromEmail":"kaartic.sivaraam@gmail.com","sentAt":"2022-04-18T17:43:09Z","receivedAt":"2022-04-18T17:43:17Z","isPatch":false,"sender":{"key":"kaartic.sivaraam@gmail.com","avatar":"https://avatars.githubusercontent.com/u/12448084?v=4"},"body":"+Cc: Christian, Hariom\n\nOn 17-04-2022 23:47, Jaydeep Das wrote:\n> \n> Sorry for being late in submitting the proposal. My end semester\n> examinations were over just yesterday so I somehow made this proposal\n> during the exam time.\n> \n\nThanks for taking the time to send the proposal! I've Cc-ed the\ncorresponding mentors to bring their attention to this proposal.\n\nI also noticed that you've submitted the proposal in the GSoC website\nwhich was a nice move given the deadline is 19Apr2022 18:00 UTC.\n\n> ===============\n> View in Google Docs: \n> https://docs.google.com/document/d/1qq-Xze6dMGMSx3rPHD0VEc4f0a87KnHgbka1Dzpf8sc/edit?usp=sharing\n> ===============\n> Proposal\n> ===============\n> \n> Unify ref-filters with other pretty formats.\n> \n> Name\t\t:\tJaydeep Prapanch Das\n> Email\t\t:\tjaydeepjd.8914@gmail.com\n> Contact\t\t:\t+91 6026139802\n> Github\t\t:\tJDeepD(https://github.com/JDeepD)\n> Linkedin\t:\thttps://www.linkedin.com/in/jdeepd\n> Course\t\t:\tComputer Science and Engineering, 2025\n> Time Zone\t:\tIST(+5:30)\n> \n> ## About me:\n> \n> I am a first year undergraduate at National Institute of Technology, \n> Silchar  pursuing B.Tech in Computer Science and Engineering. My \n> interests include FOSS development, Data Science and Robotics. I have \n> been writing Python, C and shell scripts for about 3 years now. Apart \n> from that I also blog[1] whenever I find an interesting topic to blog \n> about. During the GSoC period I also plan to blog about the new things \n> in git that I hope to learn.\n> \n> [1]: https://jdeep.me/\n> \n> ## Micro-Project:\n> \n> I am still a newbie in git development and made my first (minor) \n> contribution in Feb 2022 [1]. This was a patch I made just to get \n> familiar with the patching and sending patches to the mailing list. For \n> my micro project, I worked on adding diff driver for the Kotlin language.[2]\n> The main objective was to make an xfuncname regex which matches keywords \n> in Kotlin syntax so that they are considered as a single token\n> whenever diffs are generated. Along with that, a word_regex regex pattern\n> was also needed so that variable names, compound operators etc are not\n> broken into individual tokens by git diff when there is a change in them.\n> For ex,  if a == b is changed to  a != b , then the diff should show \n> that entire\n> `==` token is replaced with the token `!=`. While working on this micro \n> project, I learned a lot about the contribution and review workflow of \n> git. It took 7 patches to incorporate all the reviews and suggestions so \n> yeah, It did require some patience :-).\n> \n> \n> Minor patch(merged in master)\n> [1]: \n> https://public-inbox.org/git/20220208092339.651761-2-jaydeepjd.8914@gmail.com/\n> \n> Micro Project(merged in master)\n> [2]: \n> https://public-inbox.org/git/20220312044832.718356-1-jaydeepjd.8914@gmail.com/\n> \n> \n> ## Proposal:\n> \n> Git has an old problem of duplicated implementations of some logic. For \n> example, Git has at least 4 implementations to format commands for \n> different commands. Previously, Olga Telezhnaya[1] and Hariom Verma[2] \n> worked on this and eliminated most of the duplicate logic. But still, \n> there are still some things left to do. Current task is to reuse \n> ref-filter logic in pretty.\n> \n> [1]: https://github.com/telezhnaya/git/commits/format\n> [2]: \n> https://public-inbox.org/git/pull.707.git.1597841551.gitgitgadget@gmail.com/\n> \n> ## Previous Work:\n> Previous GSoC mentee Hariom Verma worked on this[1]. He worked on \n> removing duplicate logic and reuse ref-filter’s logic in pretty. \n> However, as per his report, some tasks are still left to do.\n> \n> -> Around 30% log related tests are failing\n> -> Teach pretty-lib.{c,h} to handle incorrect formatting option\n> -> Email/MBoxed commit format needs work\n> \n> [1]: https://harry-hov.github.io/blogs/posts/the-final-report\n> \n> ## GSoC Planning:\n> The main objective would be to start from where Hariom left and make \n> further improvements in the related field if time permits.\n> \n> Currently, because my end sems were just over yesterday, I am yet to do \n> a full reading/understanding of the pretty and ref-filter code. I plan \n> to first read the documentation of git-log and study the pretty formats \n> and their implementation. Next would be to read the code and understand \n> how it is working under the hood and try to find possible bugs and edge \n> cases where the tests fail. I have already gone through the various \n> must-read documentations suggested in the Hacking git[1] section of the \n> git-scm website:\n> \n> My First Contribution Tutorial[2]\n> My First Object Walk[3]\n> \n> Apart from that, I also have a decent understanding of git internals, \n> objects and porcelain commands from the Git Internals[4] documentation.\n> I want to start as early as possible since my main motivation for \n> contributing to git is to improve something that millions of people, \n> including me, use everyday in their day to day life.\n> \n> \n> [1]: https://git.github.io/Hacking-Git/\n> [2]: http://git-scm.com/docs/MyFirstContribution\n> [3]: \n> https://github.com/git/git/blob/master/Documentation/MyFirstObjectWalk.txt\n> [4]: https://git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Porcelain\n> \n> \n> \n> Estimated Timeline:\n> \n> -> April 20 - May 14\n> Read the docs and go through the codebase. Make small code contribution \n> if possible.\n> \n> -> May 14 - May 21\n> Inactive Period\n> The covid lockdown is almost lifted and I would need to report back \n> offline to college. So I would probably be busy for a week to get \n> settled there.\n> \n> -> May 22 - June 5\n> Community Bonding Period\n> Get in touch with the possible mentors(Christian Couder and Hariom \n> Verma) and discuss the possible solutions.\n> \n> -> June 6 - June 11\n> Inactive Period\n> Will be inactive for the week due to mid semester examinations\n> \n> -> June 11 - July 24\n> Coding Phase 1\n> Fix the test cases that are failing\n> Eliminate more duplicate logic in pretty.{c,h}.\n> Update the documentation\n> \n> July 25 - August 20\n> Coding Phase 2 (part 1)\n> Teach pretty.{c,h} to handle incorrect formatting options.\n> Make improvements in email/mboxed commit formats.\n> Update documentation\n> \n> \n> August 22 - August 27\n> Inactive Period\n> Will be inactive for the week due to end semester examinations.\n> \n> August 27 - September 19\n> Coding Phase 2 (part 2)\n> Start where it left off in part 1 of coding phase 2.\n> \n> During the coding phase 1, I would be able to dedicate 4 - 5 hours every \n> working day. On weekends, I could dedicate the entire day or take a \n> break depending upon the number of assignments I get. During the coding \n> phase 2 part 1, I will be able to dedicate 4 - 5 hours easily except the \n> hours may decrease some days before the end semester examinations.\n> \n> ## Blogging during the contribution period:\n> I plan to write bi monthly/monthly blogs during the contribution period \n> which I would post on my personal website[1]. I would write about my \n> progress and the new things that I will learn when I contribute to git.\n> I also plan to make a complete video tutorial after the GSoC period \n> about the contribution workflow in the git codebase since I believe it \n> would have greatly helped newcomers (like me) to get started quickly.\n> \n> [1]: https://jdeep.me/posts/\n> \n> ## Post GSoC:\n> I would love to explore the git codebase and I am particularly \n> interested in the sparse index feature of git. I would also love to \n> co-mentor someone someday when I get more experience in the codebase. I \n> have also noticed that there are some lesser known/underrated features \n> of git ( like partial clones, sparse checkout, worktrees) and I plan to \n> make video tutorials on these topics too.\n> \n> ## Closing Remarks:\n> As a whole, I feel it would be a great learning experience for me as \n> this would be the first “really” big open source project where I would \n> be contributing to. I am really excited about being a part of the git \n> community.\n> \n> Eagerly waiting for review.\n> \n> Thanks,\n> Jaydeep\n"},{"id":"453907","messageId":"CA+CkUQ9iujvFoGOqYHab-V9QKtnCvK+Zs1J7mzJDwQzH2-AOsQ@mail.gmail.com","threadId":"57747","inReplyTo":"bff6bdc8-83ef-7fa4-3554-edc0b7af1dfe@gmail.com","subject":"Re: [GSoC][RFC][Proposal] Unify ref filters in pretty.{c,h}","fromName":"Hariom verma","fromEmail":"hariom18599@gmail.com","sentAt":"2022-04-18T19:41:58Z","receivedAt":"2022-04-18T19:42:15Z","isPatch":false,"sender":{"key":"hariom18599@gmail.com","avatar":"https://avatars.githubusercontent.com/u/37576387?v=4"},"body":"On Mon, Apr 18, 2022 at 11:13 PM Kaartic Sivaraam\n<kaartic.sivaraam@gmail.com> wrote:\n>\n> +Cc: Christian, Hariom\n>\n\nThanks Kaartic.\n\n> > ===============\n> > View in Google Docs:\n> > https://docs.google.com/document/d/1qq-Xze6dMGMSx3rPHD0VEc4f0a87KnHgbka1Dzpf8sc/edit?usp=sharing\n> > ===============\n> > Proposal\n> > ===============\n> >\n> > Unify ref-filters with other pretty formats.\n> >\n> > Name          :       Jaydeep Prapanch Das\n> > Email         :       jaydeepjd.8914@gmail.com\n> > Contact               :       +91 6026139802\n> > Github                :       JDeepD(https://github.com/JDeepD)\n> > Linkedin      :       https://www.linkedin.com/in/jdeepd\n> > Course                :       Computer Science and Engineering, 2025\n> > Time Zone     :       IST(+5:30)\n> >\n> > ## About me:\n> >\n> > I am a first year undergraduate at National Institute of Technology,\n> > Silchar  pursuing B.Tech in Computer Science and Engineering. My\n> > interests include FOSS development, Data Science and Robotics. I have\n> > been writing Python, C and shell scripts for about 3 years now. Apart\n> > from that I also blog[1] whenever I find an interesting topic to blog\n> > about. During the GSoC period I also plan to blog about the new things\n> > in git that I hope to learn.\n> >\n> > [1]: https://jdeep.me/\n> >\n> > ## Micro-Project:\n> >\n> > I am still a newbie in git development and made my first (minor)\n> > contribution in Feb 2022 [1]. This was a patch I made just to get\n> > familiar with the patching and sending patches to the mailing list. For\n> > my micro project, I worked on adding diff driver for the Kotlin language.[2]\n> > The main objective was to make an xfuncname regex which matches keywords\n> > in Kotlin syntax so that they are considered as a single token\n> > whenever diffs are generated. Along with that, a word_regex regex pattern\n> > was also needed so that variable names, compound operators etc are not\n> > broken into individual tokens by git diff when there is a change in them.\n> > For ex,  if a == b is changed to  a != b , then the diff should show\n> > that entire\n> > `==` token is replaced with the token `!=`. While working on this micro\n> > project, I learned a lot about the contribution and review workflow of\n> > git. It took 7 patches to incorporate all the reviews and suggestions so\n> > yeah, It did require some patience :-).\n> >\n> >\n> > Minor patch(merged in master)\n> > [1]:\n> > https://public-inbox.org/git/20220208092339.651761-2-jaydeepjd.8914@gmail.com/\n> >\n> > Micro Project(merged in master)\n> > [2]:\n> > https://public-inbox.org/git/20220312044832.718356-1-jaydeepjd.8914@gmail.com/\n> >\n> >\n> > ## Proposal:\n> >\n> > Git has an old problem of duplicated implementations of some logic. For\n> > example, Git has at least 4 implementations to format commands for\n> > different commands. Previously, Olga Telezhnaya[1] and Hariom Verma[2]\n> > worked on this and eliminated most of the duplicate logic. But still,\n> > there are still some things left to do. Current task is to reuse\n> > ref-filter logic in pretty.\n\nCan you provide more details on what has been done? And what’s still left?\n\nZheNing Hu also worked on \"Use ref-filter formats in git cat-file\"\nlast year, maybe you can include that too.\n\n\n> > [1]: https://github.com/telezhnaya/git/commits/format\n> > [2]:\n> > https://public-inbox.org/git/pull.707.git.1597841551.gitgitgadget@gmail.com/\n> >\n> > ## Previous Work:\n> > Previous GSoC mentee Hariom Verma worked on this[1]. He worked on\n> > removing duplicate logic and reuse ref-filter’s logic in pretty.\n> > However, as per his report, some tasks are still left to do.\n\nMaybe include what’s left.\n\n> > -> Around 30% log related tests are failing\n\nElaborate those.\n\nI didn’t get the time to read all of it. Maybe Christian can add some\nmore pointers.\n\nThanks,\nHariom\n"},{"id":"453929","messageId":"CAP8UFD0EXeZW=e2d34m5JSXpaedCs-QPc-jkuOcjxuDFFUAf+A@mail.gmail.com","threadId":"57747","inReplyTo":"CA+CkUQ9iujvFoGOqYHab-V9QKtnCvK+Zs1J7mzJDwQzH2-AOsQ@mail.gmail.com","subject":"Re: [GSoC][RFC][Proposal] Unify ref filters in pretty.{c,h}","fromName":"Christian Couder","fromEmail":"christian.couder@gmail.com","sentAt":"2022-04-19T14:07:27Z","receivedAt":"2022-04-19T14:07:44Z","isPatch":false,"sender":{"key":"christian.couder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/208954?v=4"},"body":"On Mon, Apr 18, 2022 at 9:42 PM Hariom verma <hariom18599@gmail.com> wrote:\n>\n> On Mon, Apr 18, 2022 at 11:13 PM Kaartic Sivaraam\n> <kaartic.sivaraam@gmail.com> wrote:\n> >\n> > +Cc: Christian, Hariom\n> >\n>\n> Thanks Kaartic.\n\nYeah, thanks Kaartic!\n\n> I didn’t get the time to read all of it. Maybe Christian can add some\n> more pointers.\n\nThanks Jaydeep for this proposal, and thanks Hariom for taking a look!\n\nI had a small vacation from Thursday evening to this morning, and now\nI think it's a bit late to comment on this just before the deadline.\nSo I think it should be submitted as is. I will try to give it a look\nafter the deadline.\n\nBest,\nChristian.\n"},{"id":"453975","messageId":"f5be273c-d958-be53-5f2b-d9ab52f5e96b@gmail.com","threadId":"57747","inReplyTo":"CAP8UFD0EXeZW=e2d34m5JSXpaedCs-QPc-jkuOcjxuDFFUAf+A@mail.gmail.com","subject":"Re: [GSoC][RFC][Proposal] Unify ref filters in pretty.{c,h}","fromName":"","fromEmail":"jaydeepjd.8914@gmail.com","sentAt":"2022-04-20T12:11:55Z","receivedAt":"2022-04-20T12:12:03Z","isPatch":false,"sender":{"key":"jaydeepjd.8914@gmail.com","avatar":"https://avatars.githubusercontent.com/u/64089730?v=4"},"body":"\n\nOn 4/19/22 7:37 PM, Christian Couder <christian.couder@gmail.com> wrote:\n> On Mon, Apr 18, 2022 at 9:42 PM Hariom verma <hariom18599@gmail.com> wrote:\n> >\n> > On Mon, Apr 18, 2022 at 11:13 PM Kaartic Sivaraam\n> > <kaartic.sivaraam@gmail.com> wrote:\n> >>\n> >> +Cc: Christian, Hariom\n> >>\n> >\n> > Thanks Kaartic.\n> \n> Yeah, thanks Kaartic!\n> \n> > I didn’t get the time to read all of it. Maybe Christian can add some\n> > more pointers.\n> \n> Thanks Jaydeep for this proposal, and thanks Hariom for taking a look!\n> \n> I had a small vacation from Thursday evening to this morning, and now\n> I think it's a bit late to comment on this just before the deadline.\n> So I think it should be submitted as is. I will try to give it a look\n> after the deadline.\n\n\n\nSorry for the late reply. Yeah, I couldn't make changes to the proposal I submitted\nin the GSoC website. Nevertheless, I would still like fix some known breakages in \nt/t42[0-9].sh related to git-diff. Currently, I am working on a project for a college\nhackathon which would be over by 21st April. So I will begin working on fixing the tests\nfrom 22nd tentatively.\n\nThanks,\nJaydeep. \n\n\n\n"},{"id":"454056","messageId":"CAOLTT8SydsL7oOnEGD_dBw1QKefZ3E6-pdoKxXmP12RL178dwQ@mail.gmail.com","threadId":"57747","inReplyTo":"CA+CkUQ9iujvFoGOqYHab-V9QKtnCvK+Zs1J7mzJDwQzH2-AOsQ@mail.gmail.com","subject":"Re: [GSoC][RFC][Proposal] Unify ref filters in pretty.{c,h}","fromName":"ZheNing Hu","fromEmail":"adlternative@gmail.com","sentAt":"2022-04-21T11:17:51Z","receivedAt":"2022-04-21T11:18:05Z","isPatch":false,"sender":{"key":"adlternative@gmail.com","avatar":"https://avatars.githubusercontent.com/u/58138461?v=4"},"body":"Hariom verma <hariom18599@gmail.com> 于2022年4月20日周三 02:23写道：\n>\n> On Mon, Apr 18, 2022 at 11:13 PM Kaartic Sivaraam\n> <kaartic.sivaraam@gmail.com> wrote:\n> >\n> > +Cc: Christian, Hariom\n> >\n>\n> Thanks Kaartic.\n>\n> > > ===============\n> > > View in Google Docs:\n> > > https://docs.google.com/document/d/1qq-Xze6dMGMSx3rPHD0VEc4f0a87KnHgbka1Dzpf8sc/edit?usp=sharing\n> > > ===============\n> > > Proposal\n> > > ===============\n> > >\n> > > Unify ref-filters with other pretty formats.\n> > >\n> > > Name          :       Jaydeep Prapanch Das\n> > > Email         :       jaydeepjd.8914@gmail.com\n> > > Contact               :       +91 6026139802\n> > > Github                :       JDeepD(https://github.com/JDeepD)\n> > > Linkedin      :       https://www.linkedin.com/in/jdeepd\n> > > Course                :       Computer Science and Engineering, 2025\n> > > Time Zone     :       IST(+5:30)\n> > >\n> > > ## About me:\n> > >\n> > > I am a first year undergraduate at National Institute of Technology,\n> > > Silchar  pursuing B.Tech in Computer Science and Engineering. My\n> > > interests include FOSS development, Data Science and Robotics. I have\n> > > been writing Python, C and shell scripts for about 3 years now. Apart\n> > > from that I also blog[1] whenever I find an interesting topic to blog\n> > > about. During the GSoC period I also plan to blog about the new things\n> > > in git that I hope to learn.\n> > >\n> > > [1]: https://jdeep.me/\n> > >\n> > > ## Micro-Project:\n> > >\n> > > I am still a newbie in git development and made my first (minor)\n> > > contribution in Feb 2022 [1]. This was a patch I made just to get\n> > > familiar with the patching and sending patches to the mailing list. For\n> > > my micro project, I worked on adding diff driver for the Kotlin language.[2]\n> > > The main objective was to make an xfuncname regex which matches keywords\n> > > in Kotlin syntax so that they are considered as a single token\n> > > whenever diffs are generated. Along with that, a word_regex regex pattern\n> > > was also needed so that variable names, compound operators etc are not\n> > > broken into individual tokens by git diff when there is a change in them.\n> > > For ex,  if a == b is changed to  a != b , then the diff should show\n> > > that entire\n> > > `==` token is replaced with the token `!=`. While working on this micro\n> > > project, I learned a lot about the contribution and review workflow of\n> > > git. It took 7 patches to incorporate all the reviews and suggestions so\n> > > yeah, It did require some patience :-).\n> > >\n> > >\n> > > Minor patch(merged in master)\n> > > [1]:\n> > > https://public-inbox.org/git/20220208092339.651761-2-jaydeepjd.8914@gmail.com/\n> > >\n> > > Micro Project(merged in master)\n> > > [2]:\n> > > https://public-inbox.org/git/20220312044832.718356-1-jaydeepjd.8914@gmail.com/\n> > >\n> > >\n> > > ## Proposal:\n> > >\n> > > Git has an old problem of duplicated implementations of some logic. For\n> > > example, Git has at least 4 implementations to format commands for\n> > > different commands. Previously, Olga Telezhnaya[1] and Hariom Verma[2]\n> > > worked on this and eliminated most of the duplicate logic. But still,\n> > > there are still some things left to do. Current task is to reuse\n> > > ref-filter logic in pretty.\n>\n> Can you provide more details on what has been done? And what’s still left?\n>\n> ZheNing Hu also worked on \"Use ref-filter formats in git cat-file\"\n> last year, maybe you can include that too.\n>\n>\n\nHi, maybe I can give some helps. I am thinking about this project occasionally\na few months. Due to the performance of the ref-filter, me, Olga, Hariom, our\npatches doesn't merge to master branch.\n\nSo we'd better think of ways to improve the performance of the ref-filter.\nI think there needs to be a huge refactoring here.\n\n> Thanks,\n> Hariom\n\nThanks.\n--\nZheNing Hu\n"},{"id":"454230","messageId":"CAP8UFD0xwDYj-qxeZjFXzpbDCTs-U4j1=XwOUQXb-XqZP+8Mxg@mail.gmail.com","threadId":"57747","inReplyTo":"7f2e9c1b-1d01-00af-810f-c81dd38c12ad@gmail.com","subject":"Re: [GSoC][RFC][Proposal] Unify ref filters in pretty.{c,h}","fromName":"Christian Couder","fromEmail":"christian.couder@gmail.com","sentAt":"2022-04-22T08:42:30Z","receivedAt":"2022-04-22T08:42:47Z","isPatch":false,"sender":{"key":"christian.couder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/208954?v=4"},"body":"Hi,\n\nOn Sun, Apr 17, 2022 at 11:08 PM Jaydeep Das <jaydeepjd.8914@gmail.com> wrote:\n>\n> Sorry for being late in submitting the proposal. My end semester\n> examinations were over just yesterday so I somehow made this proposal\n> during the exam time.\n\nSo here is a first review from me of your proposal. I think that you\ncannot update your proposal on the GSoC web site, but it would be nice\nif you could send an updated proposal to this mailing list soon.\n\n> ## About me:\n>\n> I am a first year undergraduate at National Institute of Technology,\n> Silchar  pursuing B.Tech in Computer Science and Engineering. My\n> interests include FOSS development, Data Science and Robotics. I have\n> been writing Python, C and shell scripts for about 3 years now. Apart\n> from that I also blog[1] whenever I find an interesting topic to blog\n> about. During the GSoC period I also plan to blog about the new things\n> in git that I hope to learn.\n>\n> [1]: https://jdeep.me/\n\nNice that you already have a blog, as we indeed suggest GSoC\ncontributors to blog about their GSoC work.\n\n> ## Micro-Project:\n>\n> I am still a newbie in git development and made my first (minor)\n> contribution in Feb 2022 [1]. This was a patch I made just to get\n> familiar with the patching and sending patches to the mailing list. For\n> my micro project, I worked on adding diff driver for the Kotlin language.[2]\n> The main objective was to make an xfuncname regex which matches keywords\n> in Kotlin syntax so that they are considered as a single token\n> whenever diffs are generated. Along with that, a word_regex regex pattern\n> was also needed so that variable names, compound operators etc are not\n> broken into individual tokens by git diff when there is a change in them.\n> For ex,  if a == b is changed to  a != b , then the diff should show\n> that entire\n> `==` token is replaced with the token `!=`. While working on this micro\n> project, I learned a lot about the contribution and review workflow of\n> git. It took 7 patches to incorporate all the reviews and suggestions so\n> yeah, It did require some patience :-).\n>\n>\n> Minor patch(merged in master)\n> [1]:\n> https://public-inbox.org/git/20220208092339.651761-2-jaydeepjd.8914@gmail.com/\n>\n> Micro Project(merged in master)\n> [2]:\n> https://public-inbox.org/git/20220312044832.718356-1-jaydeepjd.8914@gmail.com/\n\nNice!\n\n> ## Proposal:\n>\n> Git has an old problem of duplicated implementations of some logic. For\n> example, Git has at least 4 implementations to format commands for\n> different commands. Previously, Olga Telezhnaya[1] and Hariom Verma[2]\n> worked on this and eliminated most of the duplicate logic. But still,\n> there are still some things left to do. Current task is to reuse\n> ref-filter logic in pretty.\n>\n> [1]: https://github.com/telezhnaya/git/commits/format\n> [2]:\n> https://public-inbox.org/git/pull.707.git.1597841551.gitgitgadget@gmail.com/\n>\n> ## Previous Work:\n> Previous GSoC mentee Hariom Verma worked on this[1]. He worked on\n> removing duplicate logic and reuse ref-filter’s logic in pretty.\n> However, as per his report, some tasks are still left to do.\n>\n> -> Around 30% log related tests are failing\n> -> Teach pretty-lib.{c,h} to handle incorrect formatting option\n\nMaybe: s/option/options/\n\n> -> Email/MBoxed commit format needs work\n>\n> [1]: https://harry-hov.github.io/blogs/posts/the-final-report\n\nIt would be nice if you could elaborate on the different tasks that\nare left to do, for example by answering the following questions:\n\n  - What are the different test failures left? Can you find or guess\nthe cause of the failures?\n  - What are the incorrect formatting options that pretty-lib.{c,h}\ndoesn't handle well yet? What currently happens and what should happen\nwhen such an incorrect option is passed?\n  - What kind of work is needed for the Email/MBoxed commit format?\n\n> ## GSoC Planning:\n> The main objective would be to start from where Hariom left and make\n> further improvements in the related field if time permits.\n>\n> Currently, because my end sems were just over yesterday, I am yet to do\n> a full reading/understanding of the pretty and ref-filter code. I plan\n> to first read the documentation of git-log and study the pretty formats\n> and their implementation. Next would be to read the code and understand\n> how it is working under the hood and try to find possible bugs and edge\n> cases where the tests fail. I have already gone through the various\n> must-read documentations suggested in the Hacking git[1] section of the\n> git-scm website:\n>\n> My First Contribution Tutorial[2]\n> My First Object Walk[3]\n\nYou say that you want to start where Hariom left, but you don't seem\nto mention the tasks Hariom suggested in the planning.\n\n> Apart from that, I also have a decent understanding of git internals,\n> objects and porcelain commands from the Git Internals[4] documentation.\n> I want to start as early as possible since my main motivation for\n> contributing to git is to improve something that millions of people,\n> including me, use everyday in their day to day life.\n>\n> [1]: https://git.github.io/Hacking-Git/\n> [2]: http://git-scm.com/docs/MyFirstContribution\n> [3]:\n> https://github.com/git/git/blob/master/Documentation/MyFirstObjectWalk.txt\n> [4]: https://git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Porcelain\n>\n>\n>\n> Estimated Timeline:\n>\n> -> April 20 - May 14\n> Read the docs and go through the codebase. Make small code contribution\n> if possible.\n>\n> -> May 14 - May 21\n> Inactive Period\n> The covid lockdown is almost lifted and I would need to report back\n> offline to college. So I would probably be busy for a week to get\n> settled there.\n\nOk, thanks for mentioning the inactive periods.\n\n> -> May 22 - June 5\n> Community Bonding Period\n> Get in touch with the possible mentors(Christian Couder and Hariom\n> Verma) and discuss the possible solutions.\n>\n> -> June 6 - June 11\n> Inactive Period\n> Will be inactive for the week due to mid semester examinations\n>\n> -> June 11 - July 24\n> Coding Phase 1\n> Fix the test cases that are failing\n> Eliminate more duplicate logic in pretty.{c,h}.\n> Update the documentation\n>\n> July 25 - August 20\n> Coding Phase 2 (part 1)\n> Teach pretty.{c,h} to handle incorrect formatting options.\n> Make improvements in email/mboxed commit formats.\n> Update documentation\n>\n>\n> August 22 - August 27\n> Inactive Period\n> Will be inactive for the week due to end semester examinations.\n>\n> August 27 - September 19\n> Coding Phase 2 (part 2)\n> Start where it left off in part 1 of coding phase 2.\n\nThe GSoC website says:\n\n\"The standard timeline accounts for 12 week coding projects. Mentors\nand GSoC Contributors can agree to extend the coding period up to 22\nweeks.\"\n\nI think it would be nice if you could tell somewhere which of the\nstandard 12 coding weeks each of the Coding Phase corresponds to, for\nexample like:\n\n\"-> June 11 - July 24\nCoding Phase 1 (coding weeks 1 and 2)\n...\"\n\n> During the coding phase 1, I would be able to dedicate 4 - 5 hours every\n> working day. On weekends, I could dedicate the entire day or take a\n> break depending upon the number of assignments I get. During the coding\n> phase 2 part 1, I will be able to dedicate 4 - 5 hours easily except the\n> hours may decrease some days before the end semester examinations.\n\nOk.\n\n> ## Blogging during the contribution period:\n> I plan to write bi monthly/monthly blogs during the contribution period\n> which I would post on my personal website[1].\n\nWe prefer weekly blog posts if possible, especially during the coding\nweeks, even if the posts are smaller.\n\n> I would write about my\n> progress and the new things that I will learn when I contribute to git.\n> I also plan to make a complete video tutorial after the GSoC period\n> about the contribution workflow in the git codebase since I believe it\n> would have greatly helped newcomers (like me) to get started quickly.\n>\n> [1]: https://jdeep.me/posts/\n\nNice idea!\n\n> ## Post GSoC:\n> I would love to explore the git codebase and I am particularly\n> interested in the sparse index feature of git. I would also love to\n> co-mentor someone someday when I get more experience in the codebase. I\n> have also noticed that there are some lesser known/underrated features\n> of git ( like partial clones, sparse checkout, worktrees) and I plan to\n> make video tutorials on these topics too.\n>\n> ## Closing Remarks:\n> As a whole, I feel it would be a great learning experience for me as\n> this would be the first “really” big open source project where I would\n> be contributing to. I am really excited about being a part of the git\n> community.\n>\n> Eagerly waiting for review.\n\nThanks,\nChristian.\n"}]}