Show 65 quoted lines
> 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