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

[RFC PATCH 0/5] Sparse checkout resurrection

From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Date
Jul 29, 2009, 06:49 UTC
Message-ID
<1248850154-5469-1-git-send-email-pclouds@gmail.com>
Hi,

I rip most of the code from my sparse checkout series, leaving only basic stuff. Now there is no CE_NO_CHECKOUT bit (CE_VALID will be used), no sparse pattterns. You will need to provide a script, namely "git-shape-workdir", to specify how you want to shape your workdir. That's all. No porcelain, only plumbing. Need to add some options to read-tree and checkout in order to enable/disable this, but I haven't got that far.

The first four patches is more or less CE_VALID fixups. Real stuff is in the last patch. Sparse patterns may return as a separate script. Currently no idea how the porcelain UI should be. The only thing that is probably impossible this way is "git clone --sparse". You may need to "clone -n" first, then apply sparse checkout later.

Comments?
Nguyễn Thái Ngọc Duy (5):
  Prevent diff machinery from examining worktree outside sparse checkout
  grep: skip files outside sparse checkout area
  gitignore: read from index if .gitignore is not in worktree
  unpack_trees(): keep track of unmerged entries
  unpack_trees(): add support for sparse checkout
 Documentation/git-grep.txt         |    4 +-
 builtin-grep.c                     |    7 ++-
 builtin-read-tree.c                |    6 ++-
 cache.h                            |    4 +
 diff-lib.c                         |    5 +-
 diff.c                             |    4 +-
 dir.c                              |   70 ++++++++++++------
 t/t3001-ls-files-others-exclude.sh |   20 +++++
 unpack-trees.c                     |  140 ++++++++++++++++++++++++++++++++++--
 unpack-trees.h                     |    4 +
 10 files changed, 229 insertions(+), 35 deletions(-)
Next: Nguyễn Thái Ngọc Duy
Message 1 of 15 in “Sparse checkout resurrection”
  1. 0/5 Sparse checkout resurrectionNguyễn Thái Ngọc Duy, Jul 29, 2009
  2. 1/5 Prevent diff machinery from examining worktree outside sparse checkoutNguyễn Thái Ngọc Duy, Jul 29, 2009
  3. 2/5 grep: skip files outside sparse checkout areaNguyễn Thái Ngọc Duy, Jul 29, 2009
  4. 3/5 gitignore: read from index if .gitignore is not in worktreeNguyễn Thái Ngọc Duy, Jul 29, 2009
  5. 4/5 unpack_trees(): keep track of unmerged entriesNguyễn Thái Ngọc Duy, Jul 29, 2009
  6. 5/5 unpack_trees(): add support for sparse checkoutNguyễn Thái Ngọc Duy, Jul 29, 2009
  7. Jakub NarebskiJul 29, 2009
  8. Nguyen Thai Ngoc DuyJul 29, 2009
  9. Jakub NarebskiJul 30, 2009
  10. Junio C HamanoJul 31, 2009
  11. Junio C HamanoJul 31, 2009
  12. Nguyen Thai Ngoc DuyAug 4, 2009
  13. Junio C HamanoJul 31, 2009
  14. skillzero@gmail.comJul 31, 2009
  15. Nguyen Thai Ngoc DuyAug 4, 2009

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.