git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [GSoC] Interest in "More Sparse Index Integrations" project idea

From
Derrick Stolee <stolee@gmail.com>
Date
Feb 14, 2022, 14:38 UTC
Message-ID
<d6286f84-642d-7448-0d2e-dd4c20bdb289@gmail.com>
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.
...
Show 11 quoted lines
> 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

Previous: Shaoxuan YuanNext: Philippe Blain
Message 2 of 6 in “[GSoC] Interest in "More Sparse Index Integrations" project idea”
  1. Shaoxuan YuanFeb 14, 2022
  2. Derrick StoleeFeb 14, 2022
  3. Philippe BlainFeb 14, 2022
  4. Shaoxuan YuanFeb 15, 2022
  5. Shaoxuan YuanFeb 16, 2022
  6. Shaoxuan YuanFeb 15, 2022

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.