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

Re: [PATCH 03/23] Introduce "skip-worktree" bit in index, teach Git to get/set this bit

From
Greg Price <price@ksplice.com>
Date
Dec 14, 2009, 23:06 UTC
Message-ID
<20091214230619.GA30538@dr-wily.mit.edu>
In-Reply-To
<1260786666-8405-4-git-send-email-pclouds@gmail.com>
Hi Duy,
Show 19 quoted lines
> +Skip-worktree bit
> +-----------------
> +
> +Skip-worktree bit can be defined in one (long) sentence: When reading
> +an entry, if it is marked as skip-worktree, then Git pretends its
> +working directory version is up to date and read the index version
> +instead.
> +
> +To elaborate, "reading" means checking for file existence, reading
> +file attributes or file content. The working directory version may be
> +present or absent. If present, its content may match against the index
> +version or not. Writing is not affected by this bit, content safety
> +is still first priority. Note that Git _can_ update working directory
> +file, that is marked skip-worktree, if it is safe to do so (i.e.
> +working directory version matches index version)
> +
> +Although this bit looks similar to assume-unchanged bit, its goal is
> +different from assume-unchanged bit's. Skip-worktree also takes
> +precedence over assume-unchanged bit when both are set.

I confess I can't tell how the skip-worktree bit does differ from assume-unchanged. Is its 'goal' different only in that you have a different motivation for introducing it, or does it actually have a different effect -- and what is that different effect?

Looking forward to seeing sparse checkouts soon!

Cheers, Greg

Previous: Nguyễn Thái Ngọc DuyNext: Nguyen Thai Ngoc Duy
Message 5 of 30 in “nd/sparse reroll”
  1. 00/23 nd/sparse rerollNguyễn Thái Ngọc Duy, Dec 14, 2009
  2. 01/23 update-index: refactor mark_valid() in preparation for new optionsNguyễn Thái Ngọc Duy, Dec 14, 2009
  3. 02/23 Add test-index-versionNguyễn Thái Ngọc Duy, Dec 14, 2009
  4. 03/23 Introduce "skip-worktree" bit in index, teach Git to get/set this bitNguyễn Thái Ngọc Duy, Dec 14, 2009
  5. Greg PriceDec 14, 2009
  6. Nguyen Thai Ngoc DuyDec 15, 2009
  7. Johannes SixtDec 15, 2009
  8. Nguyen Thai Ngoc DuyDec 15, 2009
  9. 04/23 update-index: ignore update request if it's skip-worktreeNguyễn Thái Ngọc Duy, Dec 14, 2009
  10. 05/23 Teach ls-files and update-index to respect skip-worktree bitNguyễn Thái Ngọc Duy, Dec 14, 2009
  11. 06/23 Teach diff machinery to respect skip-worktree bitNguyễn Thái Ngọc Duy, Dec 14, 2009
  12. 07/23 Teach grep to respect skip-worktree bitNguyễn Thái Ngọc Duy, Dec 14, 2009
  13. 08/23 Teach commit to respect skip-worktree bitNguyễn Thái Ngọc Duy, Dec 14, 2009
  14. 09/23 Teach Git to respect skip-worktree bit (writing part)Nguyễn Thái Ngọc Duy, Dec 14, 2009
  15. 10/23 Avoid writing to buffer in add_excludes_from_file_1()Nguyễn Thái Ngọc Duy, Dec 14, 2009
  16. 11/23 Read .gitignore from index if it is skip-worktreeNguyễn Thái Ngọc Duy, Dec 14, 2009
  17. 12/23 unpack-trees(): carry skip-worktree bit over in merged_entry()Nguyễn Thái Ngọc Duy, Dec 14, 2009
  18. 13/23 excluded_1(): support exclude files in indexNguyễn Thái Ngọc Duy, Dec 14, 2009
  19. 14/23 dir.c: export excluded_1() and add_excludes_from_file_1()Nguyễn Thái Ngọc Duy, Dec 14, 2009
  20. 15/23 Introduce "sparse checkout"Nguyễn Thái Ngọc Duy, Dec 14, 2009
  21. 16/23 unpack-trees(): add CE_WT_REMOVE to remove on worktree aloneNguyễn Thái Ngọc Duy, Dec 14, 2009
  22. 17/23 unpack-trees.c: generalize verify_* functionsNguyễn Thái Ngọc Duy, Dec 14, 2009
  23. 18/23 unpack-trees(): "enable" sparse checkout and load $GIT_DIR/info/sparse-checkoutNguyễn Thái Ngọc Duy, Dec 14, 2009
  24. 19/23 unpack_trees(): apply $GIT_DIR/info/sparse-checkout to the final indexNguyễn Thái Ngọc Duy, Dec 14, 2009
  25. 20/23 unpack-trees(): ignore worktree check outside checkout areaNguyễn Thái Ngọc Duy, Dec 14, 2009
  26. 21/23 read-tree: add --no-sparse-checkout to disable sparse checkout supportNguyễn Thái Ngọc Duy, Dec 14, 2009
  27. 22/23 Add tests for sparse checkoutNguyễn Thái Ngọc Duy, Dec 14, 2009
  28. 23/23 sparse checkout: inhibit empty worktreeNguyễn Thái Ngọc Duy, Dec 14, 2009
  29. Johannes SixtDec 14, 2009
  30. Nguyen Thai Ngoc DuyDec 14, 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.