From: "Nguyen Thai Ngoc Duy" <pclouds@gmail.com>
To: "Daniel Barkalow" <barkalow@iabervon.org>
Cc: "Junio C Hamano" <gitster@pobox.com>,
"Shawn O. Pearce" <spearce@spearce.org>,
"Johannes Schindelin" <Johannes.Schindelin@gmx.de>,
git@vger.kernel.org
Subject: Re: What's cooking in git.git (Nov 2008, #06; Wed, 26)
Date: Thu, 11 Dec 2008 20:04:32 +0700 [thread overview]
Message-ID: <fcaeb9bf0812110504u1acfb612he3edae1df3774045@mail.gmail.com> (raw)
In-Reply-To: <alpine.LNX.1.00.0812081223140.19665@iabervon.org>
On 12/9/08, Daniel Barkalow <barkalow@iabervon.org> wrote:
> > - 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.
> > > 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
next prev parent reply other threads:[~2008-12-11 13:05 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-27 0:28 What's cooking in git.git (Nov 2008, #06; Wed, 26) Junio C Hamano
2008-11-27 22:49 ` Johannes Schindelin
2008-11-28 2:06 ` Junio C Hamano
2008-11-28 11:47 ` Johannes Schindelin
2008-11-28 19:20 ` Shawn O. Pearce
2008-11-29 0:13 ` Junio C Hamano
2008-11-29 0:15 ` [PATCH] git add --intent-to-add: fix removal of cached emptiness Junio C Hamano
2008-11-29 3:51 ` [PATCH 1/3] builtin-rm.c: explain and clarify the "local change" logic Junio C Hamano
2008-11-29 3:55 ` [PATCH 2/3] git add --intent-to-add: fix removal of cached emptiness Junio C Hamano
2008-11-29 15:38 ` Sverre Rabbelier
2008-11-30 19:21 ` Jeff King
2008-11-29 3:56 ` [PATCH 3/3] git add --intent-to-add: do not let an empty blob committed by accident Junio C Hamano
2008-11-30 19:14 ` Jeff King
2008-12-01 9:24 ` Junio C Hamano
2008-11-29 1:25 ` What's cooking in git.git (Nov 2008, #06; Wed, 26) Daniel Barkalow
2008-11-29 13:02 ` Nguyen Thai Ngoc Duy
2008-11-30 10:29 ` Nguyen Thai Ngoc Duy
2008-11-30 21:26 ` Daniel Barkalow
2008-12-06 17:26 ` Nguyen Thai Ngoc Duy
2008-12-06 18:39 ` Daniel Barkalow
2008-12-07 12:27 ` Nguyen Thai Ngoc Duy
2008-12-07 21:26 ` Daniel Barkalow
2008-12-08 12:51 ` Nguyen Thai Ngoc Duy
2008-12-08 19:41 ` Daniel Barkalow
2008-12-11 13:04 ` Nguyen Thai Ngoc Duy [this message]
2008-12-11 20:30 ` Daniel Barkalow
2008-12-12 1:41 ` Junio C Hamano
2008-12-12 2:40 ` Daniel Barkalow
2008-12-12 3:12 ` Junio C Hamano
2008-12-12 3:36 ` Jeff King
2008-12-12 16:13 ` Nguyen Thai Ngoc Duy
2008-12-12 16:45 ` Johannes Sixt
2008-12-12 16:54 ` Nguyen Thai Ngoc Duy
2008-12-13 5:51 ` Junio C Hamano
2008-12-13 5:51 ` Junio C Hamano
2008-12-12 16:08 ` Nguyen Thai Ngoc Duy
2008-12-07 3:45 ` Junio C Hamano
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=fcaeb9bf0812110504u1acfb612he3edae1df3774045@mail.gmail.com \
--to=pclouds@gmail.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=barkalow@iabervon.org \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=spearce@spearce.org \
/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.
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 NNTP newsgroup(s).