From: AbdAlRahman Gad Date: Mon, 12 Aug 2024 14:33:08 GMT Subject: Re: [Newcomer] Introducing myself and expressing interest in `Implement support for reftables in “dumb” HTTP transport` project Message-ID: <2553ac83-70b2-4019-b6fb-0c0562e887c8@gmail.com> In-Reply-To: On 8/12/24 16:41, Patrick Steinhardt wrote: > On Sat, Aug 10, 2024 at 11:11:30PM +0300, AbdAlRahman Gad wrote: >> Hi, >> >> My name is AbdAlRahman, I'm a senior computer science student. >> I'm interested in working on the `Implement support for reftables in “dumb” >> HTTP transport` project with the help of a mentor, I'm aware that the >> project is not being worked on in GSOC but I was wondering if the project is >> still not taken in general, and whether I can work on it outside of GSOC? > > The project wasn't picked up by any of the students, so it certainly is > fair game to be implemented for any interested party. But... > >> If the project is not taken, what should I do next? >> >> I'm also aware that the mentors are busy with GSOC and might not have time >> now. >> I'm OK with starting whenever mentors are available, but hopefully, guide me >> on what to do until then. > > ... that being said, I probably do not have the capacity to mentor you > on it until the next GSoC. So you would ultimately have to figure out > most of the parts yourself, unless you are willing to wait until next > year's GSoC (or somebody else wants to mentor). > > Of course, you are free to send specific questions to the Git mailing > list, and we try to do our best to answer such questions and help folks > get their work landed. But the interaction would likely be way more > limited compared to how mentoring looks like during the GSoC. > >> Steps I've taken so far: >> >> For git: >> >> I worked on one of the micro-projects, modernizing a test script, The patch >> series is now merged in the `next` branch, there are still a few >> modernizations left in the file which I will work on after the first series >> is merged. >> >> This taught me git contribution workflow and to expect to do multiple >> iterations of the patch. > > This is a good first step indeed. > >> For the project: >> >> I've read the resources provided in the project description for GSOC [1] in >> addition to a video [2] and an article [3] by one of the possible mentors. >> >> This gave me a high-level overview of the ref-table backend. > > I'd point you into the direction of git-update-server-info(1). It > updates auxiliary info for the dumb transport helper for the object > and ref databases such that plain HTTP clients can figure out which > files they need to fetch. > > The realization to have is that this is not required for the reftable > backend anymore because the information is already encoded as part of > the "tables.list" file. You will have to think about how to figure out > the ref storage format of a remote and then fetch the correct set of > files. > > So understanding that code as well as how the dumb HTTP transport is > working will be the most important first steps. > > Patrick Thanks for your time! I'll begin by doing what you've suggested.