{"thread":{"id":"52953","subject":"[GSoC][RFC][PROPOSAL v2] Unify ref-filter formats with other --pretty formats","startedAt":"2020-03-07T19:40:19Z","lastAt":"2020-03-24T11:19:01Z","messageCount":3,"participants":["Hariom verma","Christian Couder"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"392940","messageId":"CA+CkUQ-dhyd_5ey1z-v59FzNyWFFVosMBfunSnN5t1EqxVMvVw@mail.gmail.com","threadId":"52953","inReplyTo":null,"subject":"[GSoC][RFC][PROPOSAL v2] Unify ref-filter formats with other --pretty formats","fromName":"Hariom verma","fromEmail":"hariom18599@gmail.com","sentAt":"2020-03-07T19:40:05Z","receivedAt":"2020-03-07T19:40:19Z","isPatch":false,"sender":{"key":"hariom18599@gmail.com","avatar":"https://avatars.githubusercontent.com/u/37576387?v=4"},"body":"Hi,\n\nOn Wed, Mar 4, 2020 at 8:46 PM Christian Couder\n<christian.couder@gmail.com> wrote:\n> Hi,\n> Thanks for your proposal!\n\nThanks for your review!\n\nI have improved the proposal as suggested by you.\nThus sending the v2 for the review.\n\nI know mentors may have limited time So I tried to keep my proposal\nshort and DRY (Don’t Repeat Yourself)\n\nChangelog:\n+ Timeline\n+ Previous Work\n+ Links after the text\n+ Few minor changes\n+ Fixed dead links\n- Links at the end of the doc\n\nRegards,\nHariom\n\n=================================================\nLink to docs: https://docs.google.com/document/d/15GPvle6S0iNg430aJx-gMrXvsgnzTlFNFhyP-K6Zmtw/edit?usp=sharing\n\n=================================================\n\n**Unify ref-filter formats with other --pretty formats**\n\nName  :  Hariom Verma\nMajor  :  Computer Science and Engineering\nMobile no.  : [...]\nEmail  : [...]\nIRC : harry-hov (on #git-devel@freenode)\nGithub : harry-hov\nLinkedin : https://www.linkedin.com/in/harry-hov/\nTime Zone  : IST (UTC +05:30)\n\n## About me\n\nI am a Computer Science undergraduate at Shri G S Institute of\nTechnology & Science, Indore, India. I am passionate about software\nfreedom and open source communities. I've been writing in C, C++,\nPython & Dart for almost 3 years, and contributed to some projects\nwhich can be seen on [Github](https://github.com/harry-hov).\n\nI’m contributing to Git since Oct 2019 and would love to be a member\nof such a versatile community.\n\n## Me & Git\n\nMy contributions have helped me understand the review and patch\nsubmission process in a better way. Also, I now feel a bit more\ncomfortable with Git’s codebase.\n\n------------------------------\n[PATCH] t2402: test worktree path when called in .git directory\nStatus: Merged into master\nMailing List: https://public-inbox.org/git/pull.570.git.1583305200143.gitgitgadget@gmail.com/\nGithub: https://github.com/git/git/commit/4d864895a23bbbb5403d9aa8a65d0576d2029597\n\n------------------------------\n[PATCH v3 3/3] receive.denyCurrentBranch: respect all worktrees\n[PATCH v3 2/3] t5509: use a bare repository for test push target\n[PATCH v3 1/3] get_main_worktree(): allow it to be called in the Git directory\nStatus: Merged into master\nMailing List:\n[3/3]: https://public-inbox.org/git/d21a590d6c23f231c54b731b737c363b83660f79.1582484231.git.gitgitgadget@gmail.com/\n[2/3]: https://public-inbox.org/git/ae749310f067c43429741987cd9f47c1ae4ceb3f.1582484231.git.gitgitgadget@gmail.com/\n[1/3]: https://public-inbox.org/git/8718facbc951614f19407afa6ca8d6110507483d.1582484231.git.gitgitgadget@gmail.com/\nGithub:\n[3/3]: https://github.com/git/git/commit/4ef346482d6d5748861c1aa9d56712e847369b40\n[2/3]: https://github.com/git/git/commit/f8692114dbb1b3ffe0b71871a015c632c195b784\n[1/3]: https://github.com/git/git/commit/45f274fbb118cc4cb00640c30b4e3069d96755a0\n\n------------------------------\n[PATCH 1/1] git-compat-util.h: drop the `PRIuMAX` and other fallback definitions\nStatus: Merged into master\nMailing List:\nhttps://public-inbox.org/git/177deddcf83c2550c0db536a7a6942ba69a92fa5.1574600963.git.gitgitgadget@gmail.com/\nGithub: https://github.com/git/git/commit/e547e5a89e3641bae02e762bcb0062951bb698e5\n\n------------------------------\n[PATCH v2 1/1] builtin/blame.c: constants into bit shift format\nStatus: Merged into master\nMailing List:\nhttps://public-inbox.org/git/838478a185322572ed4747eb484b678a8e2d7ac6.1571334411.git.gitgitgadget@gmail.com/\nGithub: https://github.com/git/git/commit/86795774bb9ca3c63b94d3d0930405c1ba9148ec\n\n## Proposed Project\n\n### Abstract\n\nGit has an old problem of duplicated implementations of some logic.\nFor example, Git had at least 4 different implementations to format\ncommand output for different commands. The foremost aim of this\nproject is to simplify codebase by getting rid of duplication of a\nsimilar logic and, as a result, simplify adding new functionality.\nThe current task is to reuse ref-filter formatting logic in pretty to\nminimize code duplication and to have one unified interface to extract\nall needed data from the object and to print it properly.\n\n### Previous Work\n\nOlga<olyatelezhnaya@gmail.com> has done great work in “Unifying Git’s\nformat languages” during Outreachy Round 15. Her work is mostly\nrelated to `cat-file` and `ref-filter`.\nShe already did a pretty nice job in preparing ref-filter for more\ngeneral usage of its formatting logic. It will give me the possibility\nto make a migration of pretty.c easier.\n\n### Potential Problem\n\nThe biggest challenge is to maintain backward compatibility while\nusing reuse ref-filter formatting logic in pretty. One can't just\ndelete some commands, rewrite them and change their interface.\nAlso, bugs could get introduced while rewriting pretty.c. Getting rid\nof them is also an imperative task. So I may need to have a good\nknowledge of GDB.\nNit: Almost a week before the end of the internship, Olga needed to\nredesign the solution(maybe to keep the logic same). I need to learn\nfrom her mistakes and will also need to keep that in mind while\ndesigning the solution for pretty.c\n\n### The Plan\n\nMy task is to change formatting logic in pretty.c. Actually, to remove\nthe current formatting solution and reuse solution from ref-filter\n(maybe without changing pretty.c logically).\nAs Thomas<t.gummerer@gmail.com>\n[suggested](https://public-inbox.org/git/20190331184930.GV32487@hank.intra.tgummerer.com/),\nI’ll start by first looking at what actually needed to be replaced\n(for example by studying the PRETTY FORMATS section in 'man git-log',\nwhat which verbs you can use in the ref-filter ('man\ngit-for-each-ref') to achieve the same thing.\nThen I’ll research how one format is implemented in 'pretty.c', and\nsee how a similar thing using the ref-filter is implemented in\n'ref-filter.c'.\ne.g. the \"%(objectname:short) %(contents:subject)\" (this is missing\ncoloring, but just to get you the idea) is similar to\n'--pretty=oneline'.  Now one can try to find how 'oneline' is\nimplemented in 'pretty.c', and could translate that to use the\n'ref-filter' API.\n\nPossible Approach: I can just brute-force the process, merge pretty.h\nand ref-filter.h, and then step-by-step clean it up. Or I can create a\nblank file and put there needed functions step by step. Or I can just\npick one format option at a time and convert it to use ref-filter\nlogic. I am thinking about it, still don’t know what is better. Maybe\nlater one?\nI guess we will sort this out ;)\n\n## Estimated Timeline\n\nI have my end semester exams between 10 April - 30 April and also I\nhave been shortlisted for Worlds Biggest Hackathon i.e Smart India\nHackathon(SIH)(https://www.sih.gov.in/).\nI’ll be inactive from 1 April to 3 May for my exam preparation and\nHackathon, which is way off the timeline.\nI believe I have enough fuel to get started on my goals - as a result\nto my involvement with the organization for almost 5 months now.\n\n--> Period\n- Inactive Period\n- April 1, 2020 - May 3, 2020\n--> Tasks\n- Between 3-7 April - traveling and attending SIH Grand Finale\n- End-Semester will be near so I’ll be bit inactive, though always\navailable on email or any other means of communication.\n\n--> Period\n- Community Bonding\n- April 27, 2020 - May 18, 2020\n--> Tasks\n- understanding all the logic of pretty.* and ref-filter.*\n(what functions are used and how all formatting process is going)\n- Identifying the best candidates to be converted first.\n\n--> Period\n- My BirthDay\n- May 18, 2020\n--> Tasks\n- Typical cake-cutting ceremony.\n\n--> Period\n- Coding phase 1\n- May 18, 2020 - June 15, 2020\n--> Tasks\n- Tweaking ref-filter(if necessary) lil bit. So its logic can be\nreused in pretty.\n- rewriting pretty.c skeleton, so that it could reuse formatting logic\nfrom ref-filter\n- Converting a couple of formatting options to reuse ref-filter\nformatting logic.\n\n--> Period\n- Coding phase 2\n- June 19, 2020 - July 13, 2020\n--> Tasks\n- Converting formatting options to reuse ref-filter formatting logic.\n- Teach new formatting options to --pretty using ref-filter\n\n--> Period\n- Final Coding Phase\n- July 17, 2020 - Aug 10, 2020\n--> Tasks\n- Final touch-ups and bug fixes(if any)\n- Update Documentation\n\n*Debugging and improving the test coverage will always be the priority\nin every phase.\n*During April 27, 2020 - August 17, 2020, a blog series will be\nwritten on a weekly basis about my current findings and will also\nwrite about “What I’m working on” to further provide the status of my\nsummer project.\n\n## Availability\n\nMy exams will end on 30 April. I might travel home after that. So, I\ncan start actively writing code for this project after 3 May. My\ncollege resumes on 15 July. I can easily devote 45-50 hours a week\nuntil my college reopens and 35-40 hours per week after that. I'm also\nfree on the weekends and I intend to complete most of the work before\nmy college reopens. Other than this project, I have no commitments for\nthis summer. I will also periodically post my status through blogs.\n\n## Post GSoC\n\nAs I said, I would love to be a member of Git’s community. So, I\nintend to keep contributing even after the GSoC period ends.\nAlso, I just can’t ignore my love for Algorithms, so most probably\nafter GSoC I would like to work on “Accelerate rename detection and\nrange-diff”.\n\n## Experience with Open Source (Optional)\n\n--> Organized many Git workshops for newcomers with HackSocIndore.\n- HackSocIndore is a group of developers that organizes Hackathons,\nWorkshops & Technical Events. I’m the core team member at HackSoc.\n\n--> Mentor, Kharagpur Winter of Code (KWoC)\n- Kharagpur Winter of Code is a 5-week long online program for\nstudents who are new to Open Source Development.\n- KWoC 2019: https://kossiitkgp.org/public-files/KWoC/2019-Certificates/KWoC19-Hariom%20Verma.pdf\n- KWoC 2018: https://kossiitkgp.org/public-files/KWoC/2018-Certificates/KWoC18-Hariom%20Verma.pdf\n"},{"id":"393714","messageId":"CA+CkUQ__JPsLCkkdHg7gh8J7VvXLA+v2j3NgV6cZAw94if=9mA@mail.gmail.com","threadId":"52953","inReplyTo":"CA+CkUQ-dhyd_5ey1z-v59FzNyWFFVosMBfunSnN5t1EqxVMvVw@mail.gmail.com","subject":"[GSoC][RFC][PROPOSAL v3] Unify ref-filter formats with other --pretty formats","fromName":"Hariom verma","fromEmail":"hariom18599@gmail.com","sentAt":"2020-03-22T14:56:02Z","receivedAt":"2020-03-22T14:56:18Z","isPatch":false,"sender":{"key":"hariom18599@gmail.com","avatar":"https://avatars.githubusercontent.com/u/37576387?v=4"},"body":"Hi,\n\nI would love to get my proposal reviewed and have suggestions from you all.\n\nThanks,\nHariom\n\n=================================================\nLink to docs: https://docs.google.com/document/d/15GPvle6S0iNg430aJx-gMrXvsgnzTlFNFhyP-K6Zmtw/edit?usp=sharing\n\n=================================================\n\n**Unify ref-filter formats with other --pretty formats**\n\nName  :  Hariom Verma\nMajor  :  Computer Science and Engineering\nMobile no.  : [...]\nEmail  : [...]\nIRC : harry-hov (on #git-devel@freenode)\nGithub : harry-hov\nLinkedin : https://www.linkedin.com/in/harry-hov/\nTime Zone  : IST (UTC +05:30)\n\n## About me\n\nI am a Computer Science undergraduate at Shri G S Institute of\nTechnology & Science, Indore, India. I am passionate about software\nfreedom and open source communities. I've been writing in C, C++,\nPython & Dart for almost 3 years, and contributed to some projects\nwhich can be seen on [Github](https://github.com/harry-hov).\n\nI’m contributing to Git since Oct 2019 and would love to be a member\nof such a versatile community.\n\n## Me & Git\n\nMy contributions have helped me understand the review and patch\nsubmission process in a better way. Also, I now feel a bit more\ncomfortable with Git’s codebase.\n\n------------------------------\n[PATCH] t2402: test worktree path when called in .git directory\nStatus: Merged into master\nMailing List: https://public-inbox.org/git/pull.570.git.1583305200143.gitgitgadget@gmail.com/\nGithub: https://github.com/git/git/commit/4d864895a23bbbb5403d9aa8a65d0576d2029597\n\n------------------------------\n[PATCH v3 3/3] receive.denyCurrentBranch: respect all worktrees\n[PATCH v3 2/3] t5509: use a bare repository for test push target\n[PATCH v3 1/3] get_main_worktree(): allow it to be called in the Git directory\nStatus: Merged into master\nMailing List:\n[3/3]: https://public-inbox.org/git/d21a590d6c23f231c54b731b737c363b83660f79.1582484231.git.gitgitgadget@gmail.com/\n[2/3]: https://public-inbox.org/git/ae749310f067c43429741987cd9f47c1ae4ceb3f.1582484231.git.gitgitgadget@gmail.com/\n[1/3]: https://public-inbox.org/git/8718facbc951614f19407afa6ca8d6110507483d.1582484231.git.gitgitgadget@gmail.com/\nGithub:\n[3/3]: https://github.com/git/git/commit/4ef346482d6d5748861c1aa9d56712e847369b40\n[2/3]: https://github.com/git/git/commit/f8692114dbb1b3ffe0b71871a015c632c195b784\n[1/3]: https://github.com/git/git/commit/45f274fbb118cc4cb00640c30b4e3069d96755a0\n\n------------------------------\n[PATCH 1/1] git-compat-util.h: drop the `PRIuMAX` and other fallback definitions\nStatus: Merged into master\nMailing List:\nhttps://public-inbox.org/git/177deddcf83c2550c0db536a7a6942ba69a92fa5.1574600963.git.gitgitgadget@gmail.com/\nGithub: https://github.com/git/git/commit/e547e5a89e3641bae02e762bcb0062951bb698e5\n\n------------------------------\n[PATCH v2 1/1] builtin/blame.c: constants into bit shift format\nStatus: Merged into master\nMailing List:\nhttps://public-inbox.org/git/838478a185322572ed4747eb484b678a8e2d7ac6.1571334411.git.gitgitgadget@gmail.com/\nGithub: https://github.com/git/git/commit/86795774bb9ca3c63b94d3d0930405c1ba9148ec\n\n## Proposed Project\n\n### Abstract\n\nGit has an old problem of duplicated implementations of some logic.\nFor example, Git had at least 4 different implementations to format\ncommand output for different commands. The foremost aim of this\nproject is to simplify codebase by getting rid of duplication of a\nsimilar logic and, as a result, simplify adding new functionality.\nThe current task is to reuse ref-filter formatting logic in pretty to\nminimize code duplication and to have one unified interface to extract\nall needed data from the object and to print it properly.\n\n### Previous Work\n\nOlga<olyatelezhnaya@gmail.com> has done great work in “Unifying Git’s\nformat languages” during Outreachy Round 15. Her work is mostly\nrelated to `cat-file` and `ref-filter`.\nShe already did a pretty nice job in preparing ref-filter for more\ngeneral usage of its formatting logic. It will give me the possibility\nto make a migration of pretty.c easier.\n\n### Potential Problem\n\nThe biggest challenge is to maintain backward compatibility while\nusing reuse ref-filter formatting logic in pretty. One can't just\ndelete some commands, rewrite them and change their interface.\nAlso, bugs could get introduced while rewriting pretty.c. Getting rid\nof them is also an imperative task. So I may need to have a good\nknowledge of GDB.\nNit: Almost a week before the end of the internship, Olga needed to\nredesign the solution(maybe to keep the logic same). I need to learn\nfrom her mistakes and will also need to keep that in mind while\ndesigning the solution for pretty.c\n\n### The Plan\n\nMy task is to change formatting logic in pretty.c. Actually, to remove\nthe current formatting solution and reuse solution from ref-filter\n(maybe without changing pretty.c logically).\nAs Thomas<t.gummerer@gmail.com>\n[suggested](https://public-inbox.org/git/20190331184930.GV32487@hank.intra.tgummerer.com/),\nI’ll start by first looking at what actually needed to be replaced\n(for example by studying the PRETTY FORMATS section in 'man git-log',\nwhat which verbs you can use in the ref-filter ('man\ngit-for-each-ref') to achieve the same thing.\nThen I’ll research how one format is implemented in 'pretty.c', and\nsee how a similar thing using the ref-filter is implemented in\n'ref-filter.c'.\ne.g. the \"%(objectname:short) %(contents:subject)\" (this is missing\ncoloring, but just to get you the idea) is similar to\n'--pretty=oneline'.  Now one can try to find how 'oneline' is\nimplemented in 'pretty.c', and could translate that to use the\n'ref-filter' API.\nThe idea is to use various atoms present in ref-filter to implement\npretty format options.\n\nValid atoms in ref-filter:\nhttps://github.com/git/git/blob/master/ref-filter.c#L474-L520\n\nAlso, I have gone through solid part of [Git\nInternals](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects)\nto have an understanding of objects and refs.\n\nPossible Approach: I can just brute-force the process, merge pretty.h\nand ref-filter.h, and then step-by-step clean it up. Or I can create a\nblank file and put there needed functions step by step. Or I can just\npick one format option at a time and convert it to use ref-filter\nlogic. I am thinking about it, still don’t know what is better. Maybe\nlater one?\nI guess we will sort this out ;)\n\n## Estimated Timeline\n\nI have my end semester exams between 10 April - 30 April. I’ll be\ninactive from 1 April to 3 May for my exam preparation and\nsubmissions, which is way off the timeline.\nAnd also I have been shortlisted for Worlds Biggest Hackathon i.e\nSmart India Hackathon(SIH)(https://www.sih.gov.in/)(36 hr\nHackathon)(18 & 19 July).\n\nI believe I have enough fuel to get started on my goals - as a result\nto my involvement with the organisation for almost 5 months now.\n\n--> Period\n- Inactive Period\n- April 1, 2020 - May 3, 2020\n--> Tasks\n- Between 3-7 April - traveling and attending SIH Grand Finale\n- End-Semester will be near so I’ll be bit inactive, though always\navailable on email or any other means of communication.\n\n--> Period\n- Community Bonding\n- April 27, 2020 - May 18, 2020\n--> Tasks\n- understanding all the logic of pretty.* and ref-filter.*\n(what functions are used and how all formatting process is going)\n- Identifying the best candidates to be converted first.\n\n--> Period\n- My BirthDay\n- May 18, 2020\n--> Tasks\n- Typical cake-cutting ceremony.\n\n--> Period\n- Coding phase 1\n- May 18, 2020 - June 15, 2020\n--> Tasks\n- Tweaking ref-filter(if necessary) lil bit. So its logic can be\nreused in pretty.\n- rewriting pretty.c skeleton, so that it could reuse formatting logic\nfrom ref-filter\n- Converting a couple of formatting options to reuse ref-filter\nformatting logic.\n\n--> Period\n- Coding phase 2\n- June 19, 2020 - July 13, 2020\n--> Tasks\n- Converting more formatting options to reuse ref-filter formatting logic.\n- Teach new formatting options to --pretty using ref-filter\n\n--> Period\n- Final Coding Phase\n- July 17, 2020 - Aug 10, 2020\n--> Tasks\n- Final touch-ups and bug fixes(if any)\n- Update Documentation\n\n*Debugging and improving the test coverage will always be the priority\nin every phase.\n*During April 27, 2020 - August 17, 2020, a blog series will be\nwritten on a weekly basis about my current findings and will also\nwrite about “What I’m working on” to further provide the status of my\nsummer project.\n\n## Blogging about Git\n\nI have always been reluctant to articulate my opinions and broadcast\nthem to the world in any way. I have a long way to go as a writer,\nthinker, and as a human being before my opinions on matters of\npersonal significance to me will be worth sharing. (Whoa! I have\nopinions about my opinions! Ad infinitum!)\nHaving said that, I think GSoC and Git might be a great couple for\nfacilitating my first foray into technical blogging. And over the\ncourse of the summer and beyond, I would love to write about my\nprogress and experiences contributing to Git.\n\n## Availability\n\nMy exams will end on 30 April. I might travel home after that. So, I\ncan start actively writing code for this project after 3 May. My\ncollege resumes on 15 July. I can easily devote 45-50 hours a week\nuntil my college reopens and 35-40 hours per week after that. I'm also\nfree on the weekends and I intend to complete most of the work before\nmy college reopens. Other than this project, I have no commitments for\nthis summer. I will also periodically post my status through blogs.\n\n## Post GSoC\n\nAs I said, I would love to be a member of Git’s community. So, I\nintend to keep contributing even after the GSoC period ends.\nHere are some other things I’d like to do beyond GSoC\n--> I’d love to co-mentor someone for Git (someday!)\n--> I just can’t ignore my love for Algorithms, so most probably after\nGSoC I would like to work on [Accelerate rename detection and\nrange-diff](https://github.com/gitgitgadget/git/issues/519)\n--> I love writing, and I’d love to work on improving Git’s\ndocumentation and work on documentation issues.\n--> Eventually, I’d like to learn more about git-for-windows and\ncontribute to git-for-windows code base\n--> Keep learning from all of you...\n\n## Experience with Open Source\n\n--> Organized many Git workshops for newcomers with HackSocIndore.\n- HackSocIndore is a group of developers that organizes Hackathons,\nWorkshops & Technical Events. I’m the core team member at HackSoc.\n\n--> Mentor, Kharagpur Winter of Code (KWoC)\n- Kharagpur Winter of Code is a 5-week long online program for\nstudents who are new to Open Source Development.\n- KWoC 2019: https://kossiitkgp.org/public-files/KWoC/2019-Certificates/KWoC19-Hariom%20Verma.pdf\n- KWoC 2018: https://kossiitkgp.org/public-files/KWoC/2018-Certificates/KWoC18-Hariom%20Verma.pdf\n\n## Motivation\n\nGit is everyone's favorite VCS. Apart from that... once I made some\ninitial bite-sized contributions to git, I really loved how easy it\nwas to get quick feedback from the community.\n\n## Closing remarks (Optional)\n\nI am a quick learner, and always willing to put in the extra effort to\ncultivate the requisite skills needed to solve a given problem, even\nif I don’t possess said skills to begin with!\nI feel like my way of looking at problems has served me well while\ncontributing to Git and various open source projects.\nI hope you will give me a chance to prove that by considering my\napplication for working with you over the summer on my proposed\nproject! Really looking forward to learning from all of you! Here’s to\na summer full of learning and growth!\n\nHeartfelt thanks and warm regards!\n\nHariom Verma\n"},{"id":"393872","messageId":"CAP8UFD2nVnrudUWtNzq4Lc-zyXPU8r9wjvtnBgVTY4vQxsqLzw@mail.gmail.com","threadId":"52953","inReplyTo":"CA+CkUQ__JPsLCkkdHg7gh8J7VvXLA+v2j3NgV6cZAw94if=9mA@mail.gmail.com","subject":"Re: [GSoC][RFC][PROPOSAL v3] Unify ref-filter formats with other --pretty formats","fromName":"Christian Couder","fromEmail":"christian.couder@gmail.com","sentAt":"2020-03-24T11:18:46Z","receivedAt":"2020-03-24T11:19:01Z","isPatch":false,"sender":{"key":"christian.couder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/208954?v=4"},"body":"Hi,\n\nOn Sun, Mar 22, 2020 at 3:56 PM Hariom verma <hariom18599@gmail.com> wrote:\n\n> I would love to get my proposal reviewed and have suggestions from you all.\n\nSorry for the late reviews.\n\n[...]\n\n> My task is to change formatting logic in pretty.c. Actually, to remove\n> the current formatting solution and reuse solution from ref-filter\n> (maybe without changing pretty.c logically).\n> As Thomas<t.gummerer@gmail.com>\n> [suggested](https://public-inbox.org/git/20190331184930.GV32487@hank.intra.tgummerer.com/),\n> I’ll start by first looking at what actually needed to be replaced\n> (for example by studying the PRETTY FORMATS section in 'man git-log',\n> what which verbs you can use in the ref-filter ('man\n> git-for-each-ref') to achieve the same thing.\n> Then I’ll research how one format is implemented in 'pretty.c', and\n> see how a similar thing using the ref-filter is implemented in\n> 'ref-filter.c'.\n> e.g. the \"%(objectname:short) %(contents:subject)\" (this is missing\n> coloring, but just to get you the idea) is similar to\n> '--pretty=oneline'.  Now one can try to find how 'oneline' is\n> implemented in 'pretty.c', and could translate that to use the\n> 'ref-filter' API.\n> The idea is to use various atoms present in ref-filter to implement\n> pretty format options.\n\nYeah, I think that's a good idea.\n\n> Valid atoms in ref-filter:\n> https://github.com/git/git/blob/master/ref-filter.c#L474-L520\n\n[...]\n\n> ## Blogging about Git\n>\n> I have always been reluctant to articulate my opinions and broadcast\n> them to the world in any way. I have a long way to go as a writer,\n> thinker, and as a human being before my opinions on matters of\n> personal significance to me will be worth sharing. (Whoa! I have\n> opinions about my opinions! Ad infinitum!)\n> Having said that, I think GSoC and Git might be a great couple for\n> facilitating my first foray into technical blogging. And over the\n> course of the summer and beyond, I would love to write about my\n> progress and experiences contributing to Git.\n\nGood. If it appears to be too much of a problem, it's ok to just send\nweekly email updates to the mailing list.\n"}]}