Subject: Re: [PATCH 5/5] unpack_trees(): add support for sparse checkout

From: Jakub Narebski <[email-masked]>
Date: Wed, 29 Jul 2009 04:48:31 -0700 (PDT)

Nguyễn Thái Ngọc Duy    <[email-masked]> writes:

> This patch teaches unpack_trees() to checkout/remove entries
> on working directories appropriately when sparse checkout area is
> changed. A helper "git shape-workdir" is needed to help determine
> which entry will be checked out, which will be not.

Wouldn't "git update-index --index-info" (perhaps extended) be enough?

> 
> "git shape-workdir" will receive from stdin in this format
> 
> X\tpathname
> 
> where X is either
>  - '!' current entry is already CE_VALID
>  - 'N' current entry is "new" (it has not been in index before)
>  - '-' current entry is "normal" entry
> 
> "git shape-workdir" is expected to return either "1" or "0"
> immediately. "1" means the entry should be in workdir. "0" means
> setting CE_VALID and get rid of it from workdir.

Just in case it would be better IMVHO if it returned "1\tpathname" or
"2\tpathname".  By the way, is 'pathname' quoted if necessary, and
does git-shape-workdir support -z/--null option?

Signoff (also in some other patches in this series)?

-- 
Jakub Narebski
Poland
ShadeHawk on #git