git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Derrick Stolee <stolee@gmail.com>
To: Shaoxuan Yuan <shaoxuan.yuan02@gmail.com>
Cc: vdye@github.com, Christian Couder <christian.couder@gmail.com>,
	Junio C Hamano <gitster@pobox.com>,
	Git List <git@vger.kernel.org>,
	kaartic.sivaraam@gmail.com
Subject: Re: [GSoC] Interest in "More Sparse Index Integrations" project idea
Date: Mon, 14 Feb 2022 09:38:28 -0500	[thread overview]
Message-ID: <d6286f84-642d-7448-0d2e-dd4c20bdb289@gmail.com> (raw)
In-Reply-To: <CAJyCBOTuNn24_WvHv-xQsCdtr9-4_fdrMrOC7ZApg1xFp4RNWQ@mail.gmail.com>

On 2/14/2022 7:44 AM, Shaoxuan Yuan wrote:
> Hi Stolee, Victoria, and Community,
> 
> The self-intro was done during my first practice patch [1].

Welcome!
 
> I've been paying attention to the updates to the SoC 2022 ideas
> page. And find your sparse index integrations project quite interesting.

...

> And the main purpose of this message is to first, show my interest
> about this project idea and second, use it as a thread so I can follow up
> some questions during the research process.
> 
> Question: It is a good idea to start looking into the commands listed
> in the idea doc [3] and make some practice patches about sparse index
> integrations?
> 
> [1] https://lore.kernel.org/git/20220123060318.471414-1-shaoxuan.yuan02@gmail.com/
> [2] https://github.blog/2021-11-10-make-your-monorepo-feel-small-with-gits-sparse-index/
> [3] https://git.github.io/SoC-2022-Ideas/#more-sparse-index-integrations
 
One thing you can do is look at the history of t1092, which is used by
every patch series that performs these integrations.

$ git log -20 --oneline --graph --show-pulls origin/master -- t/t1092-sparse-checkout-compatibility.sh
* 3c0e4178277 Merge branch 'ds/fetch-pull-with-sparse-index'
* 3a9a6ac5d9d t1092: replace 'read-cache --table' with 'ls-files --sparse'
* 78087097b8b ls-files: add --sparse option
* 5a4e0547e23 fetch/pull: use the sparse index
*   8d2c37320bd Merge branch 'ld/sparse-diff-blame'
|\  
| * add4c864b60 blame: enable and test the sparse index
| * 51ba65b5c35 diff: enable and test the sparse index
| * 338e2a9acc8 diff: replace --staged with --cached in t1092 tests
| *   ea6ae410bed Merge branch 'vd/sparse-reset' into ld/sparse-diff-blame
| |\  
* | \   e1d92882676 Merge branch 'ds/sparse-deep-pattern-checkout-fix'
|\ \ \  
| * | | 8c5de0d2657 unpack-trees: use traverse_path instead of name
| * | | 1b38efc7a03 t1092: add deeper changes during a checkout
* | | |   62329d336f5 Merge branch 'ds/trace2-regions-in-tests'
|\ \ \ \  
| * | | | 8c4cbad6a3a t/t*: remove custom GIT_TRACE2_EVENT_NESTING
| |/ / /  
* | | |   f0850875fd4 Merge branch 'vd/sparse-reset'
|\ \ \ \  
| | |_|/  
| |/| |   
| * | | 4d1cfc1351f reset: make --mixed sparse-aware
| * | | 20ec2d034cd reset: make sparse-aware (except --mixed)
| * | | 291d77eb3e2 reset: expand test coverage for sparse checkouts
| * | | 86609db9dae sparse-index: update command for expand/collapse test
| * | | 71471b2a7c7 reset: preserve skip-worktree bit in mixed reset

But of course, this doesn't show the full history of the work in
each of these branches, so you can do a history walk from each
merge to get a picture of the full series:

$ git log --oneline --graph 3c0e4178277 -6
*   3c0e4178277 Merge branch 'ds/fetch-pull-with-sparse-index'
|\  
| * 408c51f0b4b test-read-cache: remove --table, --expand options
| * c2a29405105 t1091/t3705: remove 'test-tool read-cache --table'
| * 3a9a6ac5d9d t1092: replace 'read-cache --table' with 'ls-files --sparse'
| * 78087097b8b ls-files: add --sparse option
| * 5a4e0547e23 fetch/pull: use the sparse index

$ git log --oneline --graph 8d2c37320bd -8
*   8d2c37320bd Merge branch 'ld/sparse-diff-blame'
|\  
| * add4c864b60 blame: enable and test the sparse index
| * 51ba65b5c35 diff: enable and test the sparse index
| * 338e2a9acc8 diff: replace --staged with --cached in t1092 tests
| * 44c7e62e51e repo-settings: prepare_repo_settings only in git repos
| * 27a443b8208 test-read-cache: set up repo after git directory
| * 0803f9c7cdf commit-graph: return if there is no git directory
| * e5b17bda8b6 git: ensure correct git directory setup with -h

These are just a couple examples of merged work in this area. Be
sure to look at the full commit messages and diffs to get a feel
for the area. Then, playing around with the list of commands in
the project idea document is a good idea.

There is also a series that is currently waiting to merge [4], for
even more examples.

[4] https://lore.kernel.org/git/pull.1109.v2.git.1641924306.gitgitgadget@gmail.com/

Thanks,
-Stolee

  reply	other threads:[~2022-02-14 14:40 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-14 12:44 [GSoC] Interest in "More Sparse Index Integrations" project idea Shaoxuan Yuan
2022-02-14 14:38 ` Derrick Stolee [this message]
2022-02-14 18:45   ` Philippe Blain
2022-02-15  2:29     ` Shaoxuan Yuan
2022-02-16  3:01     ` Shaoxuan Yuan
2022-02-15  2:29   ` Shaoxuan Yuan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d6286f84-642d-7448-0d2e-dd4c20bdb289@gmail.com \
    --to=stolee@gmail.com \
    --cc=christian.couder@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=kaartic.sivaraam@gmail.com \
    --cc=shaoxuan.yuan02@gmail.com \
    --cc=vdye@github.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).