Hi, On Thu, Mar 30, 2023 at 7:21 PM Kousik Sanagavarapu <five231003@xxxxxxxxx> wrote: > > This proposal can also be read at > https://docs.google.com/document/d/1JBznA5n0WdWsbEskCeXxOnQuaa0urD89VtprxstLPzo/edit?usp=sharing Thanks for your proposal! [...] > Pre GSoC > ======== > I first got into Git’s source code around October, 2022 and have been > going through code of topics that I found interesting whenever I had > some time away from my college work. The following are the patches that > I submitted, from earliest to the latest: Thanks for these patches! [...] > Previous Work > ============= > There has been much work done in the past in this area. It majorly comes > from previous Outreachy interns and GSoC students. > > Olga Telezhnaia <olyatelezhnaya@xxxxxxxxx> did work in this area in the > fields of `cat-file` and `ref-filter` as a part of her Outreachy Internship > titled “Unifying Git’s format languages”. This work and also the work done > after that helped take ref-filter to a more general setting. She blogged > about her work here > > https://medium.com/@olyatelezhnaya > > > Hariom Verma <hariom18599@xxxxxxxxx> did work in this area as his GSoC > project titled “Unify ref-filter formats with other --pretty formats”. > This is the major work done in this area and the final report can be > read at > > https://harry-hov.github.io/blogs/posts/the-final-report > > This work is very useful as this serves as a kind of documentation > and starting point to work towards the goal. > > ZheNing Hu <adlternative@xxxxxxxxx> has done major work under his GSoC > project titled “Use ref-filter formats in git cat-file” in the area of > git cat-file, but more relevant to this project are the changes done to > ref-filter. This work was a continuation of Olga’s work and made some > changes to ref-filter logic. His final report can be read here > > https://github.com/adlternative/adlternative.github.io/blob/gh-pages/blogs/gsoc/GSOC-Git-Final-Blog.md > > Nsengiyumva Wilberforce <nsengiyumvawilberforce@xxxxxxxxx> did work in > this area as a part of his Outreachy Internship titled “Unify ref-filter > formats with other --pretty formats”. Actually he has been working on this outside of Outreachy (and any other program) as he didn't fulfill the requirements for being accepted by Outreachy. > He got rid of the duplicate > implementation of the `signature` atom logic. Even if the end goal is to get rid of duplicate implementations, for now the ref-filter formats need to have equivalent atoms as what the pretty formats have. Otherwise it will not be possible to fully replace pretty formats using ref-filter formats. So for now the goal of Wilberforce's patch is to add `signature` atoms to the ref-filter formats. > This work can be read here > > https://lore.kernel.org/git/20230311210607.64927-1-nsengiyumvawilberforce@xxxxxxxxx/ > > Difficulties > ============ > A major difficulty is backward compatibility, so any changes made to > remove the duplicated logic would need to be done so very carefully. > Any new tests added must also be very precise so as to efficiently > test the changes that are made. > > There are also minor difficulties, such as the older tests failing > because of the changes made, so the work will have to be in such a way > that those tests are successful and the duplicated logic is refactored. > > The Plan > ======== > I think Hariom’s final report of his GSoC project is a good starting > point for working on the project. The report lists the work which is > left in the “WHATS LEFT?” section, so I think the first issue to work > on would be to look into why “Around 30% of the log tests are failing” > and to work in the area of mbox/email formatting for commits. Work can > also be done to make pretty handle unknown formatting options. More details about these would be nice. > From here, I can work on the remaining portion of the formats Here too. > and can > remove the duplicated logic wherever possible, also writing tests to > ensure that everything works. > > I can take the approach similar to what Hariom did before this. Could you give more details about what Hariom did that you would also like to do? > Estimated Timeline > ================== > > Misc > April 5 to May 3 > - Continue to work on git and get more familiar with the code. > > - Find and fix stuff. > > - Work on stuff that interests me. > > Community Bonding > May 4 to May 28 > - Get myself familiar with the code of ref-filter.{c, h} and > pretty.{c, h}. > > - Communicate with my mentors about the approaches that can > be taken to get to the goal. > > - Working on Hariom’s branches (mentioned in his final report) > and making changes on top of them. Can you give links to these branches and tell a bit about the changes you would like to make on top of each one? Best, Christian.