From: Johannes Schindelin <Johannes.Schindelin@gmx.de>
To: Duy Nguyen <pclouds@gmail.com>
Cc: Junio C Hamano <gitster@pobox.com>, Durham Goode <durham@fb.com>,
Git Mailing List <git@vger.kernel.org>,
Mateusz Kwapich <mitrandir@fb.com>
Subject: Re: bug: sparse config interpretation incorrectness in 2.8.0-rc2
Date: Thu, 17 Mar 2016 14:46:59 +0100 (CET) [thread overview]
Message-ID: <alpine.DEB.2.20.1603171444210.4690@virtualbox> (raw)
In-Reply-To: <CACsJy8DH297aV2pYL7xGNZ5X24rR5PxvrpJQ+15YxpDNvqgS5Q@mail.gmail.com>
Hi Duy,
On Thu, 17 Mar 2016, Duy Nguyen wrote:
> On Thu, Mar 17, 2016 at 8:04 PM, Johannes Schindelin
> <Johannes.Schindelin@gmx.de> wrote:
> >
> > On Thu, 17 Mar 2016, Duy Nguyen wrote:
> >
> >> Good news for you is there's "sparse checkout v2" in the work, that
> >> would not rely on exclude engine and should be both faster and more
> >> elegant. That should reduce "sparse checkout v1" usage to really
> >> small cases.
> >
> > I dabbled myself with speeding up the entire exclude engine
> > (essentially, I use a hash map of the non-wildcard prefixes to the
> > corresponding line number). So I am interested to see what your
> > approach is. Could you point me to it (I did not see any obvious
> > branch in your GitHub space)?
>
> First of all it's not about speeding up exclude engine. I think I did
> that (sort of) already with untracked cache (have you tried it on
> Windows?)
Yes, I tested the untracked cache and enabled it in a couple of my
repositories. It works great. But it has little to do with the exclude
engine ;-)
> It's Junio's idea actually, what I'm implementing. The index contains
> a list of _files_ yes?
> What if the index contains also _directories_? Of course we can't
> "refresh" or check if the whole directory is "dirty" like a file, so
> those dirs will stay registered in the index, but be entirely missing
> from worktree. The effect is the same as sparse checkout, except that
> we keep all "hidden" files of sparse checkout in the index. In fact I
> plan to reuse CE_SKIP_WORKTREE (from sparse checkout) to mark those
> dirs.
Oh, I see.
Unfortunately, this does not help me at all. In the use case I am trying
to get to work fast, we have tons and tons of directories and need *one*
file in pretty much *all* of those directories, and exclude most of the
other files.
To make matters even worse, the list of excluded (or included) files is
constantly changing.
> The advantage is obvious: the index can be much smaller, which leads
> to faster update and access. Of course now you can only hide either
> whole directory, or hide nothing. It's less flexible than sparse
> checkout "v1", but you can use "v1" on top of "v2" for that. Changing
> checkout regions involves unfolding or folding certain directories,
> sparse patterns are not used.
>
> If you are still curious, you can check out my 'narrow-checkout'
> branch on github. The basic is working. Folding/unfolding is not. Be
> warned that it's even dirtier than your rebase-helper branch (and will
> not be released any time soon either, lots of other stuff to be
> finished first).
Thanks!
Dscho
next prev parent reply other threads:[~2016-03-17 13:47 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-17 0:09 bug: sparse config interpretation incorrectness in 2.8.0-rc2 Durham Goode
2016-03-17 0:56 ` Duy Nguyen
2016-03-17 6:49 ` Durham Goode
2016-03-17 7:51 ` Junio C Hamano
2016-03-17 10:17 ` Duy Nguyen
2016-03-17 13:04 ` Johannes Schindelin
2016-03-17 13:20 ` Duy Nguyen
2016-03-17 13:46 ` Johannes Schindelin [this message]
2016-03-17 14:00 ` Duy Nguyen
2016-03-18 15:49 ` Johannes Schindelin
2016-03-17 7:22 ` Junio C Hamano
2016-03-17 17:51 ` Durham Goode
2016-03-17 12:45 ` [PATCH 1/2] dir.c: fix bug in 'nd/exclusion-regression-fix' topic Nguyễn Thái Ngọc Duy
2016-03-17 12:45 ` Nguyễn Thái Ngọc Duy
2016-03-17 12:54 ` [PATCH 3/2] dir.c: fix dir re-inclusion rules with "NODIR" and "MUSTBEDIR" Nguyễn Thái Ngọc Duy
2016-03-17 23:49 ` Junio C Hamano
2016-03-18 0:15 ` Duy Nguyen
2016-03-18 5:40 ` Junio C Hamano
2016-03-18 5:51 ` Duy Nguyen
2016-03-18 5:58 ` Eric Sunshine
2016-03-18 4:51 ` Durham Goode
2016-03-18 5:40 ` Duy Nguyen
2016-03-18 6:21 ` Durham Goode
2016-03-18 6:28 ` Duy Nguyen
2016-03-18 18:00 ` Junio C Hamano
2016-03-18 18:37 ` Extending this cycle by a week and reverting !reinclusion topic Junio C Hamano
2016-03-19 1:03 ` [PATCH 3/2] dir.c: fix dir re-inclusion rules with "NODIR" and "MUSTBEDIR" Duy Nguyen
2016-03-17 12:45 ` [PATCH 2/2] dir.c: correct "stuck" logging logic Nguyễn Thái Ngọc Duy
2016-03-17 12:45 ` Nguyễn Thái Ngọc Duy
2016-03-18 17:38 ` [PATCH 1/2] dir.c: fix bug in 'nd/exclusion-regression-fix' topic 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=alpine.DEB.2.20.1603171444210.4690@virtualbox \
--to=johannes.schindelin@gmx.de \
--cc=durham@fb.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=mitrandir@fb.com \
--cc=pclouds@gmail.com \
/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).