{"thread":{"id":"57675","subject":"[GSoC v1 0/1] GSoC 2022 proposal rough draft","startedAt":"2022-04-06T12:22:22Z","lastAt":"2022-04-06T21:38:39Z","messageCount":4,"participants":["Shaoxuan Yuan","Abhradeep Chakraborty"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"453162","messageId":"20220406080920.1220183-1-shaoxuan.yuan02@gmail.com","threadId":"57675","inReplyTo":null,"subject":"[GSoC v1 0/1] GSoC 2022 proposal rough draft","fromName":"Shaoxuan Yuan","fromEmail":"shaoxuan.yuan02@gmail.com","sentAt":"2022-04-06T08:09:19Z","receivedAt":"2022-04-06T12:22:22Z","isPatch":false,"sender":{"key":"shaoxuan.yuan02@gmail.com","avatar":"https://avatars.githubusercontent.com/u/46557895?v=4"},"body":"Hi community, I wrote a rough draft of my GSoC 2022 proposal.\n\nAccording to the General-Application-Information [1], I should\nbe sending this draft early to get reviews and comments. And I also\nsubmitted one draft to official GSoC 2022 website.\n\nThis rough draft is not yet polished in terms of grammar and vocabulary,\nand its content/detail is quite, well, rough. So, please give it more suggestions,\nthanks a lot :-)\n\nIn addition to this patch-like draft, I also composed one on docs.google.com,\nfeel free to also comment on that one [2], in fact, it is preferable since it\nhas stylings, formats, and the final proposal should be in PDF.\n\nA quick question: the idea page says this idea's \"difficulty\" is medium [3], are\nwe on the same page with Google's wording of \"project size\"? [4] Since the idea\npage says: \"Expected Project Size: 175 hours or 350 hours\", I'm a bit confused\nif this is a medium or large sized project.\n\n[1] https://git.github.io/General-Application-Information/\n[2] https://docs.google.com/document/d/1VZq0XGl-wCxECxJamKN9PGVPXaBhszQWV1jaIIvlFjE/edit?usp=sharing\n[3] https://git.github.io/SoC-2022-Ideas/#more-sparse-index-integrations\n[4] https://developers.google.com/open-source/gsoc/faq#how_much_time_does_gsoc_participation_take\n\nThanks,\nShaoxuan\n\nShaoxuan Yuan (1):\n  draft\n\n proposal.txt | 133 +++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 133 insertions(+)\n\n-- \n2.35.1\n\n"},{"id":"453163","messageId":"20220406080920.1220183-2-shaoxuan.yuan02@gmail.com","threadId":"57675","inReplyTo":"20220406080920.1220183-1-shaoxuan.yuan02@gmail.com","subject":"[GSoC v1 1/1] draft","fromName":"Shaoxuan Yuan","fromEmail":"shaoxuan.yuan02@gmail.com","sentAt":"2022-04-06T08:09:20Z","receivedAt":"2022-04-06T12:22:24Z","isPatch":false,"sender":{"key":"shaoxuan.yuan02@gmail.com","avatar":"https://avatars.githubusercontent.com/u/46557895?v=4"},"body":"Signed-off-by: Shaoxuan Yuan <shaoxuan.yuan02@gmail.com>\n---\n proposal.txt | 133 +++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 133 insertions(+)\n\ndiff --git a/proposal.txt b/proposal.txt\nindex e69de29..eaa3cdf 100644\n--- a/proposal.txt\n+++ b/proposal.txt\n@@ -0,0 +1,133 @@\n+GSoC 2022 Proposal @ Git: More Sparse Index Integrations\n+\n+# Name and Contact Information\n+\n+Full name: Shaoxuan Yuan\n+E-mail: shaoxuan.yuan02@gmail.com\n+GitHub: https://github.com/ffyuanda\n+Tel: (+86)189-9835-1089\n+Alternative Tel: (+1)646-512-1886\n+\n+# Synopsis\n+\n+I'm picking the project idea \"More Sparse Index Integrations\" from the SoC 2022\n+Ideas page [1]. This idea aims to integrate the experimental sparse-index\n+feature and sparse-checkout command with existing Git commands. Its difficulty\n+should be medium, and the expected project size takes somewhere between\n+175 hours to 350 hours.\n+\n+[1] https://git.github.io/SoC-2022-Ideas/#more-sparse-index-integrations\n+\n+# Benefits to Community\n+\n+By joining the community and working on this idea, I can work together with my\n+mentors and community fellows to bring a better user experience to people who\n+are working on large monorepo with \"sparse-index\" and \"sparse-checkout\".\n+Moreover, I have a strong intention to stick around after GSoC, not only keep\n+contributing to the community, but also share my experience with or even mentor\n+future potential newcomers.\n+\n+# Deliverables\n+\n+With this idea's clear spirit to cover as many command integrations as possible,\n+and also with the clear steps to take to accomplish each integration, I have\n+arranged a general deliverable structure as below:\n+\n+1. Investigation around a Git command and see if it behaves correctly with\n+sparse-checkout. [Approx. 3 - 7 days]\n+\n+2. Modify the Git command's logic so that it works better with sparse-checkout.\n+[Approx. 7 days - 15 days]\n+\n+3. Add tests to t1092-sparse-checkout-compatibility.sh for the builtin, with a\n+focus on what happens for paths outside of the sparse-checkout cone.\n+\n+4. Disable the command_requires_full_index setting in the builtin and ensure\n+the tests pass.\n+\n+5. If the tests do not pass, then alter the logic to work with the sparse index.\n+\n+6. Add tests to check that a sparse index stays sparse.\n+\n+7. Add performance tests to demonstrate speedup.\n+\n+(points 3-7 are from SoC 2022 Ideas, proposed by the community and mentors)\n+\n+[points 3-7 added together should take Approx. 7 days - 15 days]\n+\n+In summary, each integration will take a similar schedule stated above. So,\n+without extending the timeline, it is expected to finish 3 - 4 integrations\n+during the GSoC program.\n+\n+# Related Work\n+\n+Since the Git community requires a \"microproject\" to be done in order to\n+familiarize oneself with the collaborating/contributing process, here is my\n+selected \"microproject\", this patch is already merged into master:\n+\n+Modernize a test script [2]\n+\n+[2] https://lore.kernel.org/git/20220123060318.471414-1-shaoxuan.yuan02@gmail.com/\n+\n+Other than this \"microproject\", I've submitted a few other patches when I\n+stumbled upon bugs/potential modifications, these patches are already\n+merged into master:\n+\n+t0001: replace \"test [-d|-f]\" with test_path_is_* functions [3]\n+builtin/diff.c: fix \"git-diff\" usage string typo [4]\n+\n+[3] https://lore.kernel.org/git/20220121102109.433457-1-shaoxuan.yuan02@gmail.com/\n+[4] https://lore.kernel.org/git/20220202072844.35545-1-shaoxuan.yuan02@gmail.com/\n+\n+Prior works about the idea have been done by my mentors and other community\n+members, and these works form a good approximation of the approach I'm going\n+to take. Some previous example commits:\n+\n+Integration with \"clean\" [5]\n+Integration with \"blame\" [6]\n+\n+[5] https://github.com/git/git/commit/1e9e10e04891a13e5ccd52b36cfadc55dfaa5066\n+[6] https://github.com/git/git/commit/add4c864b60766174ad4f74ba7be17e66d61ef16\n+\n+Other than the proposed steps by my mentors (points 3 - 7 in the Deliverables\n+section), I also added some steps (points 1 - 2 in the Deliverables section) as\n+prerequisites, which I found very necessary during my tentative patches\n+discussed earlier with the community:\n+\n+An RFC patch about \"sparse-index\" integration with \"mv\" [7]\n+A WIP patch to optimize user experience when using \"mv\" with \"sparse-checkout\" [8]\n+\n+[7] https://lore.kernel.org/git/20220315100145.214054-1-shaoxuan.yuan02@gmail.com/\n+[8] https://lore.kernel.org/git/20220331091755.385961-1-shaoxuan.yuan02@gmail.com/\n+\n+When I was exploring \"sparse-index\" and \"sparse-checkout\", I also proposed a\n+change to the documentation of \"sparse-checkout\", this patch is still WIP\n+though:\n+\n+Documentation/git-sparse-checkout.txt: add an OPTIONS section [9]\n+\n+[9] https://lore.kernel.org/git/20220311132141.1817-1-shaoxuan.yuan02@gmail.com/\n+\n+# Biographical Information\n+\n+## Education:\n+\n+I'm currently a Computer Science and Engineering sophomore at the University of\n+California, Irvine. Before this, I also had a summer school at the Carnegie\n+Mellon University, in which I also learned things about Computer Science.\n+\n+## Some credits to myself (prior open-source experience, work, etc.):\n+\n+1. I've been contributing to other open-source projects before, though still a\n+beginner, I'm generally familiar with the process of contribution. The related\n+experiences are all in the contribution graph on my GitHub profile page (see the\n+Name and Contact Information section).\n+\n+2. I came to participate in the Git community fairly early this year. I got\n+myself rather comfortable with the contribution process by writing, replying,\n+and reviewing different sorts of patches in the community.\n+\n+3. During the patches done throughout these three months, I'm getting more\n+familiar with the Git internals, project structures, commonly used APIs, test\n+suites, required tech stacks, coding guidelines, and most importantly, prior\n+knowledge and experience with my proposed project idea.\n-- \n2.35.1\n\n"},{"id":"453177","messageId":"CAJyCBOTHT+oLQ5Z0rKhj7tfiA97_rpXAU3mVjokUV09DB9bkvg@mail.gmail.com","threadId":"57675","inReplyTo":"20220406080920.1220183-1-shaoxuan.yuan02@gmail.com","subject":"Re: [GSoC v1 0/1] GSoC 2022 proposal rough draft","fromName":"Shaoxuan Yuan","fromEmail":"shaoxuan.yuan02@gmail.com","sentAt":"2022-04-06T12:05:55Z","receivedAt":"2022-04-06T15:11:18Z","isPatch":false,"sender":{"key":"shaoxuan.yuan02@gmail.com","avatar":"https://avatars.githubusercontent.com/u/46557895?v=4"},"body":"Not sure why, seems that the previous email does not show up on the\nmailing list.\n\n-- \nThanks & Regards,\nShaoxuan\n"},{"id":"453231","messageId":"20220406210938.27565-1-chakrabortyabhradeep79@gmail.com","threadId":"57675","inReplyTo":"CAJyCBOTHT+oLQ5Z0rKhj7tfiA97_rpXAU3mVjokUV09DB9bkvg@mail.gmail.com","subject":"Re: [GSoC v1 0/1] GSoC 2022 proposal rough draft","fromName":"Abhradeep Chakraborty","fromEmail":"chakrabortyabhradeep79@gmail.com","sentAt":"2022-04-06T21:09:38Z","receivedAt":"2022-04-06T21:38:39Z","isPatch":false,"sender":{"key":"chakrabortyabhradeep79@gmail.com","avatar":"https://avatars.githubusercontent.com/u/75240995?v=4"},"body":"Shaoxuan Yuan <shaoxuan.yuan02@gmail.com> wrote:\n\n> Not sure why, seems that the previous email does not show up on the\n> mailing list.\n\n\nSame for me. I am also trying to send the proposal. But for some\nreason, it is not showing on the public mailing list.\n\n\nThanks :)\n\n"}]}