git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [GSoC v1 0/1] GSoC 2022 proposal rough draft
@ 2022-04-06  8:09 Shaoxuan Yuan
  2022-04-06  8:09 ` [GSoC v1 1/1] draft Shaoxuan Yuan
  2022-04-06 12:05 ` [GSoC v1 0/1] GSoC 2022 proposal rough draft Shaoxuan Yuan
  0 siblings, 2 replies; 4+ messages in thread
From: Shaoxuan Yuan @ 2022-04-06  8:09 UTC (permalink / raw)
  To: git; +Cc: derrickstolee, vdye, gitster, Shaoxuan Yuan

Hi community, I wrote a rough draft of my GSoC 2022 proposal.

According to the General-Application-Information [1], I should
be sending this draft early to get reviews and comments. And I also
submitted one draft to official GSoC 2022 website.

This rough draft is not yet polished in terms of grammar and vocabulary,
and its content/detail is quite, well, rough. So, please give it more suggestions,
thanks a lot :-)

In addition to this patch-like draft, I also composed one on docs.google.com,
feel free to also comment on that one [2], in fact, it is preferable since it
has stylings, formats, and the final proposal should be in PDF.

A quick question: the idea page says this idea's "difficulty" is medium [3], are
we on the same page with Google's wording of "project size"? [4] Since the idea
page says: "Expected Project Size: 175 hours or 350 hours", I'm a bit confused
if this is a medium or large sized project.

[1] https://git.github.io/General-Application-Information/
[2] https://docs.google.com/document/d/1VZq0XGl-wCxECxJamKN9PGVPXaBhszQWV1jaIIvlFjE/edit?usp=sharing
[3] https://git.github.io/SoC-2022-Ideas/#more-sparse-index-integrations
[4] https://developers.google.com/open-source/gsoc/faq#how_much_time_does_gsoc_participation_take

Thanks,
Shaoxuan

Shaoxuan Yuan (1):
  draft

 proposal.txt | 133 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 133 insertions(+)

-- 
2.35.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [GSoC v1 1/1] draft
  2022-04-06  8:09 [GSoC v1 0/1] GSoC 2022 proposal rough draft Shaoxuan Yuan
@ 2022-04-06  8:09 ` Shaoxuan Yuan
  2022-04-06 12:05 ` [GSoC v1 0/1] GSoC 2022 proposal rough draft Shaoxuan Yuan
  1 sibling, 0 replies; 4+ messages in thread
From: Shaoxuan Yuan @ 2022-04-06  8:09 UTC (permalink / raw)
  To: git; +Cc: derrickstolee, vdye, gitster, Shaoxuan Yuan

Signed-off-by: Shaoxuan Yuan <shaoxuan.yuan02@gmail.com>
---
 proposal.txt | 133 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 133 insertions(+)

diff --git a/proposal.txt b/proposal.txt
index e69de29..eaa3cdf 100644
--- a/proposal.txt
+++ b/proposal.txt
@@ -0,0 +1,133 @@
+GSoC 2022 Proposal @ Git: More Sparse Index Integrations
+
+# Name and Contact Information
+
+Full name: Shaoxuan Yuan
+E-mail: shaoxuan.yuan02@gmail.com
+GitHub: https://github.com/ffyuanda
+Tel: (+86)189-9835-1089
+Alternative Tel: (+1)646-512-1886
+
+# Synopsis
+
+I'm picking the project idea "More Sparse Index Integrations" from the SoC 2022
+Ideas page [1]. This idea aims to integrate the experimental sparse-index
+feature and sparse-checkout command with existing Git commands. Its difficulty
+should be medium, and the expected project size takes somewhere between
+175 hours to 350 hours.
+
+[1] https://git.github.io/SoC-2022-Ideas/#more-sparse-index-integrations
+
+# Benefits to Community
+
+By joining the community and working on this idea, I can work together with my
+mentors and community fellows to bring a better user experience to people who
+are working on large monorepo with "sparse-index" and "sparse-checkout".
+Moreover, I have a strong intention to stick around after GSoC, not only keep
+contributing to the community, but also share my experience with or even mentor
+future potential newcomers.
+
+# Deliverables
+
+With this idea's clear spirit to cover as many command integrations as possible,
+and also with the clear steps to take to accomplish each integration, I have
+arranged a general deliverable structure as below:
+
+1. Investigation around a Git command and see if it behaves correctly with
+sparse-checkout. [Approx. 3 - 7 days]
+
+2. Modify the Git command's logic so that it works better with sparse-checkout.
+[Approx. 7 days - 15 days]
+
+3. Add tests to t1092-sparse-checkout-compatibility.sh for the builtin, with a
+focus on what happens for paths outside of the sparse-checkout cone.
+
+4. Disable the command_requires_full_index setting in the builtin and ensure
+the tests pass.
+
+5. If the tests do not pass, then alter the logic to work with the sparse index.
+
+6. Add tests to check that a sparse index stays sparse.
+
+7. Add performance tests to demonstrate speedup.
+
+(points 3-7 are from SoC 2022 Ideas, proposed by the community and mentors)
+
+[points 3-7 added together should take Approx. 7 days - 15 days]
+
+In summary, each integration will take a similar schedule stated above. So,
+without extending the timeline, it is expected to finish 3 - 4 integrations
+during the GSoC program.
+
+# Related Work
+
+Since the Git community requires a "microproject" to be done in order to
+familiarize oneself with the collaborating/contributing process, here is my
+selected "microproject", this patch is already merged into master:
+
+Modernize a test script [2]
+
+[2] https://lore.kernel.org/git/20220123060318.471414-1-shaoxuan.yuan02@gmail.com/
+
+Other than this "microproject", I've submitted a few other patches when I
+stumbled upon bugs/potential modifications, these patches are already
+merged into master:
+
+t0001: replace "test [-d|-f]" with test_path_is_* functions [3]
+builtin/diff.c: fix "git-diff" usage string typo [4]
+
+[3] https://lore.kernel.org/git/20220121102109.433457-1-shaoxuan.yuan02@gmail.com/
+[4] https://lore.kernel.org/git/20220202072844.35545-1-shaoxuan.yuan02@gmail.com/
+
+Prior works about the idea have been done by my mentors and other community
+members, and these works form a good approximation of the approach I'm going
+to take. Some previous example commits:
+
+Integration with "clean" [5]
+Integration with "blame" [6]
+
+[5] https://github.com/git/git/commit/1e9e10e04891a13e5ccd52b36cfadc55dfaa5066
+[6] https://github.com/git/git/commit/add4c864b60766174ad4f74ba7be17e66d61ef16
+
+Other than the proposed steps by my mentors (points 3 - 7 in the Deliverables
+section), I also added some steps (points 1 - 2 in the Deliverables section) as
+prerequisites, which I found very necessary during my tentative patches
+discussed earlier with the community:
+
+An RFC patch about "sparse-index" integration with "mv" [7]
+A WIP patch to optimize user experience when using "mv" with "sparse-checkout" [8]
+
+[7] https://lore.kernel.org/git/20220315100145.214054-1-shaoxuan.yuan02@gmail.com/
+[8] https://lore.kernel.org/git/20220331091755.385961-1-shaoxuan.yuan02@gmail.com/
+
+When I was exploring "sparse-index" and "sparse-checkout", I also proposed a
+change to the documentation of "sparse-checkout", this patch is still WIP
+though:
+
+Documentation/git-sparse-checkout.txt: add an OPTIONS section [9]
+
+[9] https://lore.kernel.org/git/20220311132141.1817-1-shaoxuan.yuan02@gmail.com/
+
+# Biographical Information
+
+## Education:
+
+I'm currently a Computer Science and Engineering sophomore at the University of
+California, Irvine. Before this, I also had a summer school at the Carnegie
+Mellon University, in which I also learned things about Computer Science.
+
+## Some credits to myself (prior open-source experience, work, etc.):
+
+1. I've been contributing to other open-source projects before, though still a
+beginner, I'm generally familiar with the process of contribution. The related
+experiences are all in the contribution graph on my GitHub profile page (see the
+Name and Contact Information section).
+
+2. I came to participate in the Git community fairly early this year. I got
+myself rather comfortable with the contribution process by writing, replying,
+and reviewing different sorts of patches in the community.
+
+3. During the patches done throughout these three months, I'm getting more
+familiar with the Git internals, project structures, commonly used APIs, test
+suites, required tech stacks, coding guidelines, and most importantly, prior
+knowledge and experience with my proposed project idea.
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [GSoC v1 0/1] GSoC 2022 proposal rough draft
  2022-04-06  8:09 [GSoC v1 0/1] GSoC 2022 proposal rough draft Shaoxuan Yuan
  2022-04-06  8:09 ` [GSoC v1 1/1] draft Shaoxuan Yuan
@ 2022-04-06 12:05 ` Shaoxuan Yuan
  2022-04-06 21:09   ` Abhradeep Chakraborty
  1 sibling, 1 reply; 4+ messages in thread
From: Shaoxuan Yuan @ 2022-04-06 12:05 UTC (permalink / raw)
  To: git; +Cc: derrickstolee, vdye, gitster

Not sure why, seems that the previous email does not show up on the
mailing list.

-- 
Thanks & Regards,
Shaoxuan

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [GSoC v1 0/1] GSoC 2022 proposal rough draft
  2022-04-06 12:05 ` [GSoC v1 0/1] GSoC 2022 proposal rough draft Shaoxuan Yuan
@ 2022-04-06 21:09   ` Abhradeep Chakraborty
  0 siblings, 0 replies; 4+ messages in thread
From: Abhradeep Chakraborty @ 2022-04-06 21:09 UTC (permalink / raw)
  To: Shaoxuan Yuan; +Cc: Abhradeep Chakraborty, git, Derrick Stolee, vdye, gitster

Shaoxuan Yuan <shaoxuan.yuan02@gmail.com> wrote:

> Not sure why, seems that the previous email does not show up on the
> mailing list.


Same for me. I am also trying to send the proposal. But for some
reason, it is not showing on the public mailing list.


Thanks :)


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-04-06 21:38 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-06  8:09 [GSoC v1 0/1] GSoC 2022 proposal rough draft Shaoxuan Yuan
2022-04-06  8:09 ` [GSoC v1 1/1] draft Shaoxuan Yuan
2022-04-06 12:05 ` [GSoC v1 0/1] GSoC 2022 proposal rough draft Shaoxuan Yuan
2022-04-06 21:09   ` Abhradeep Chakraborty

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).