Subject: Re: [GSoC][RFC][PROPOSAL] More Sparse Index Integrations

From: Victoria Dye <[email-masked]>
Date: Tue, 28 Mar 2023 10:16:41 -0700

Shuqi Liang wrote:
> 
> Hello everyone,
> 
> Sorry about the wrapping mistake in last patch.
> 
> Here is the initial version of my proposal on "More Sparse Index 
> Integrations". I would really love to have comments on it. If you find any 
> mistakes please notify me about that.
> 
> And website version is there: 
> https://docs.google.com/document/d/1WtoLgAJYVHY_NWNscqi358FeAY-6UBARCmpTU3BAQMs/edit#
> 
> ==================================================================

Hi Shuqi!

> 
> ###Project Timeline
> 
> 
> #Empty Period (Present - May 4)
> 
>     My end-semester exams begin on April 4 to  April 28. Hence I might be 
>     a bit busy in this period.
> 
>     After April 28, I will continue to work on 'git diff-files' and start 
>     to work on ' git describe '

An initial integration for 'describe' was recently submitted [1] so, if
you'd like to start working on another integration after 'diff-files', you
may want to pick a different command.

[1] https://lore.kernel.org/git/[email-masked]/

> 
> #Community Bonding Period (May 4- May 28) 
> 
>     Get familiar with the community
> 
>     I have read the related documentation about 'Sparse Index Integrations'
>     and working on 'git diff-files' , one of the builtins that could be 
>     integrated with the sparse index. The feedback and the advice for 
>     improvement make me learn a lot. And I'm confident I can start the project 
>     at the start of this period.
> 
>     Keep working on "git diff-files' and  'git describe' on May 5, and the 
>     expected time of completion of these two is May 28.
> 
> 
> #Phase 1 (May 29 -July 9)
> 
>     week 1 to week 3  (May 29-June 18): integrate  'git write-tree' with 
>     sparse index. Use the steps above.
> 
>     week 4 to week 6(June 19 -July 9 ): integrate  'git diff-index' with 
>     sparse index,use steps above.
> 
> #Phase 2 (July 9 - August 28)
> 
>     week 1 to week 3  (July 9 - July 23): integrate  'git diff-tree' with 
>     sparse index. Use the steps above.
> 
>     week 4 to week 6 (July 23 - August 13 ): integrate 'git worktree' with 
>     sparse index. Use the steps above.
> 
>     week 7(August 13-August 28) :
>     A buffer of one week has been kept for any covert difficulties when 
>     integrated with the sparse index.

Even working 35-40 hours a week (as you mention later), this is a pretty
ambitious timeline for integrating sparse index with commands. Does this
take into account the time needed to respond to review comments and make
changes to your patches addressing those comments? 

> 
> ###Blogging about Git
> 
> When I was a freshman, I hated writing summaries or other learning materials.
> But then I started writing blogs for new knowledge to keep track of what 
> I've learned. I realized that When I  dive into a topic and want to write it 
> down, I  will think much deeper about it than just learning. I also learned a 
> lot and gained many skills from others' blogs. I would love to write about my 
> progress and experiences with the project. In this way, I could share the ideas 
> with those interested in researching this project and help them get up to speed more quickly.
> 

Where would you post your blogs?

> 
> ###Availability
> 
> My semester will complete in late April, leaving me enough time to prepare 
> for my GSoC project. Git is the only project for my summertime. If I am 
> selected, I shall be able to work five days per week, 7 - 8 hours per day, 
> around 35 -40 hrs a week on the project, though I am open to putting in more 
> effort if the work requires. If everything is going well with the plan, I may 
> want to Participate in a hackathon for a few days with my friends in July.

I don't see it mentioned anywhere in the proposal - which project size [2]
are you planning for? 35-40 hours/week for (nearly) the whole GSoC period
implies "large" project, but it would help to make your intention explicit.

Also, this helps me understand *when* you'd be available, but not *how*. I
try to keep an open line of communication with any GSoC participant I'm
mentoring to help with any issues or bugs encountered; it's also very
helpful for me to get regular (daily or every few days) updates from the
GSoC contributor on their progress.
 
To do that, what kind of communication medium would you want to use? An
instant messaging application (Slack, Discord, IRC)? Email? Something else?
In general, I'd be interested to see more on your plan for communication &
collaboration.

[2] https://developers.google.com/open-source/gsoc/faq#how_much_time_does_gsoc_participation_take

> Thanks & Regards,
> Shuqi