Subject: Re: Sparse checkout in worktree

From: Michael J Gruber <[email-masked]>
Date: Wed, 25 Nov 2015 21:44:04 +0100

Duy Nguyen venit, vidit, dixit 25.11.2015 21:17:
> On Wed, Nov 25, 2015 at 8:44 PM, Michael J Gruber
> <[email-masked]> wrote:
>> Duy Nguyen venit, vidit, dixit 25.11.2015 20:38:
>>> On Wed, Nov 25, 2015 at 1:40 PM, Michael J Gruber
>>> <[email-masked]> wrote:
>>>> Hi there,
>>>>
>>>> I'm wondering how much it would take to enable worktree specific sparse
>>>> checkouts. From a superfluous look:
>>>>
>>>> - $GIT_DIR/info/sparse_checkout needs to be worktree specific
>>>
>>> It already is.
>>
>> But where should I put the worktree specific sparse_checkout file? Is
>> Documentation/technical really the only place to find information about
>> this? And to make the existing tree sparse, do I need to rm -r and
>> checkout sparsely?
> 
> Ahh.. worktree-specific files of the checkout "foo" stay in
> $GIT_DIR/repos/foo. So sparse-checkout path should be
> $GIT_DIR/repos/foo/info/sparse-checkout. This is another good reason
> to add 'git checkout --edit-sparse' that opens the sparse-checkout
> file for you to update. Or you could use 'git rev-parse --git-path
> info/sparse-checkout" to get full path.
> 

[ "worktrees", not "repos" ]

Maybe creating an empty info dir by default would help already - I had
looked in there but didn't find anything.

OTOH, config is common: core.sparseCheckout
So, the per worktree "switch" is the presence of the sparse-checkout file.

Michael