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

Re: What's cooking in git.git (Nov 2008, #06; Wed, 26)

From
Nguyen Thai Ngoc Duy <pclouds@gmail.com>
Date
Dec 11, 2008, 13:04 UTC
Message-ID
<fcaeb9bf0812110504u1acfb612he3edae1df3774045@mail.gmail.com>
In-Reply-To
<alpine.LNX.1.00.0812081223140.19665@iabervon.org>
On 12/9/08, Daniel Barkalow <barkalow@iabervon.org> wrote:
Show 9 quoted lines
>  >  - for "git grep", we ignore path with CE_NO_CHECKOUT (while using
>  > cache version for CE_VALID)
>
>
> Is this sufficient? I'd expect "git grep" to ignore paths that are outside
>  the checked-out region, even when searching an arbitrary tree, and even
>  when those files aren't in the index at all (i.e., the current commit
>  doesn't have them). That is, I'd expect core.defaultsparse or the
>  equivalent to limit the paths, normally giving this effect.

That's the point. CE_VALID does not define checkout area while CE_NO_CHECKOUT does. If an entry is CE_VALID, it is still in checkout area. But if it is CE_NO_CHECKOUT, "git grep" should ignore that path. core.defaultsparse has nothing to do here.

Show 19 quoted lines
>  > >  The question, then, is what happens when the index and core.defaultsparse
>  > >  disagree, either because the porcelain supports causing it or because the
>  > >  user has simply editting the config file or used plumbing to modify the
>  > >  index. That is, (1) we have index entries that say that the worktree is
>  > >  ignored, and the rules don't say they're outside the sparse checkout; do
>  > >  we care whether we expect the worktree to be empty or match the index?
>  > >  And, (2) we have index entries that say we do care about them, but the
>  > >  rules say they're outside the sparse checkout; what happens with these?
>  >
>  > The rule is CE_NO_CHECKOUT is king. core.defaultsparse only helps
>  > setting CE_NO_CHECKOUT on new entries when they enter the index.
>
>
> This seems like a really bad idea to me. If you ask for a file that's
>  outside your default area to be checked out, and then you switch branches
>  and switch back, the file may or may not disappear (depending on whether
>  the branch you switched to temporarily had it or not). Likewise, if you
>  remove files, and then switch branches and back, the files may or may not
>  reappear.

Well, if you set core.defaultsparse properly, those files should appear/disappear as you wish (and as of now if you define your checkout area with "git checkout --{include-,exclude-,}sparse" then core.defaultsparse should be updated accordingly). I don't say core.defaultsparse is perfect.

Anyway how do you suppose the tool to do in your case (checkout, switch away then switch back)?

-- 
Duy
Previous: Daniel BarkalowNext: Daniel Barkalow
Message 25 of 37 in “What's cooking in git.git (Nov 2008, #06; Wed, 26)”
  1. Junio C HamanoNov 27, 2008
  2. Johannes SchindelinNov 27, 2008
  3. Junio C HamanoNov 28, 2008
  4. Johannes SchindelinNov 28, 2008
  5. Shawn O. PearceNov 28, 2008
  6. Junio C HamanoNov 29, 2008
  7. git add --intent-to-add: fix removal of cached emptinessJunio C Hamano, Nov 29, 2008
  8. 1/3 builtin-rm.c: explain and clarify the "local change" logicJunio C Hamano, Nov 29, 2008
  9. 2/3 git add --intent-to-add: fix removal of cached emptinessJunio C Hamano, Nov 29, 2008
  10. Sverre RabbelierNov 29, 2008
  11. Jeff KingNov 30, 2008
  12. 3/3 git add --intent-to-add: do not let an empty blob committed by accidentJunio C Hamano, Nov 29, 2008
  13. Jeff KingNov 30, 2008
  14. Junio C HamanoDec 1, 2008
  15. Daniel BarkalowNov 29, 2008
  16. Nguyen Thai Ngoc DuyNov 29, 2008
  17. Nguyen Thai Ngoc DuyNov 30, 2008
  18. Daniel BarkalowNov 30, 2008
  19. Nguyen Thai Ngoc DuyDec 6, 2008
  20. Daniel BarkalowDec 6, 2008
  21. Nguyen Thai Ngoc DuyDec 7, 2008
  22. Daniel BarkalowDec 7, 2008
  23. Nguyen Thai Ngoc DuyDec 8, 2008
  24. Daniel BarkalowDec 8, 2008
  25. Nguyen Thai Ngoc DuyDec 11, 2008
  26. Daniel BarkalowDec 11, 2008
  27. Junio C HamanoDec 12, 2008
  28. Daniel BarkalowDec 12, 2008
  29. Junio C HamanoDec 12, 2008
  30. Jeff KingDec 12, 2008
  31. Nguyen Thai Ngoc DuyDec 12, 2008
  32. Johannes SixtDec 12, 2008
  33. Nguyen Thai Ngoc DuyDec 12, 2008
  34. Junio C HamanoDec 13, 2008
  35. Junio C HamanoDec 13, 2008
  36. Nguyen Thai Ngoc DuyDec 12, 2008
  37. Junio C HamanoDec 7, 2008

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.