git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Derrick Stolee <stolee@gmail.com>
To: Elijah Newren <newren@gmail.com>,
	Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: JunkYardMail1 <JunkYardMail1@frontier.com>,
	Git Mailing List <git@vger.kernel.org>
Subject: Re: Sparse Checkout Trouble (2.5.0)
Date: Tue, 28 Jan 2020 15:47:51 -0500	[thread overview]
Message-ID: <e4bb20e9-ad90-3e9b-7ed2-c7793cb8cb22@gmail.com> (raw)
In-Reply-To: <CABPp-BHRAA71LmfYb61N+qAgwhtii7TSEVJksiAGnnO-4bk2dQ@mail.gmail.com>

On 1/28/2020 12:21 AM, Elijah Newren wrote:
> On Sun, Jan 26, 2020 at 6:09 AM Derrick Stolee <stolee@gmail.com> wrote:
>>
>> On 1/25/2020 3:59 PM, Elijah Newren wrote:
>>> On Fri, Jan 24, 2020 at 7:41 AM Derrick Stolee <stolee@gmail.com> wrote:
>>>> I'm CC'ing Elijah because he also made changes to dir.c, and
>>>> perhaps he has some idea of what's going on.
>>>
>>> If you think it might be related to the dir.c changes, I can take a
>>> look.  I don't have any immediate ideas off the top of my head.
>>
>> The only thing I can think of is that these paths are already
>> marked as sparse, but something is requiring us to test if the
>> path can be created with the filesystem. I'll try to debug
>> more into exactly where that is. It's telling that this happens
>> both in cone mode and without.
> 
> Yeah, I'll take a look.  The exponentially slow 'status --ignored'
> report is forcing me to look at dir.c again anyway, though it's also
> delaying me from getting a chance to look at this particular report.

I made some progress, at least, in root-causing the issue.
The problem bisects down to 4dc42c6c1 (mingw: refuse paths
containing reserved names, 2019-12-21) [1]. CC'ing Dscho.

That commit updates is_valid_win32_path() to fail on these
paths. We were _already_ calling this method even for paths
outside the sparse cone, but the method didn't fail for these
examples.

This means the fix is probably even more complicated: we need
to not call this method when traversing paths that have the
skip-worktree bit enabled. This may lead to some tiny
performance gains when hydrating a very small fraction of a
very large index.

Thanks,
-Stolee

[1] http://github.com/git/git/commit/4dc42c6c1867a52e22f1f04a1a247b5a7538b8af

  reply	other threads:[~2020-01-28 20:47 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-22  0:42 Sparse Checkout Trouble (2.5.0) JunkYardMail1
2020-01-22  1:19 ` Derrick Stolee
2020-01-22  2:06   ` JunkYardMail1
2020-01-24 15:40   ` Derrick Stolee
2020-01-25 20:59     ` Elijah Newren
2020-01-26 14:09       ` Derrick Stolee
2020-01-28  5:21         ` Elijah Newren
2020-01-28 20:47           ` Derrick Stolee [this message]
2020-01-29 15:30             ` Johannes Schindelin
2020-01-29 15:40               ` Derrick Stolee
2020-01-29 16:31                 ` Derrick Stolee

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=e4bb20e9-ad90-3e9b-7ed2-c7793cb8cb22@gmail.com \
    --to=stolee@gmail.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=JunkYardMail1@frontier.com \
    --cc=git@vger.kernel.org \
    --cc=newren@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).