Re: [RFC PATCH v2 3/4] unpack_trees(): add support for sparse checkout

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2009/8/10 Johannes Schindelin <Johannes.Schindelin@xxxxxx>:
> Hi,
>
> On Mon, 10 Aug 2009, Nguyễn Thái Ngọc Duy wrote:
>
>> This patch teaches unpack_trees() to checkout/remove entries on working
>> directories appropriately when sparse checkout area is changed. Hook
>> "sparse" is needed to help determine which entry will be checked out,
>> which will not be.
>>
>> When the hook is run, it is prepared with a pseudo index. The hook then
>> can use "git update-index --[no-]assume-unchanged" to manipulate the
>> index. It should not do anything else on the index. Assume unchanged
>> information from the index will be used to shape working directory.
>
> If I understand correctly, the purpose of the hook is to allow the user to
> mark something as unwanted preemptively, right?
>
> If that is the sole reason for the hook, would it not be better to add
> support for a file .git/info/sparse which has the same syntax as
> .git/info/exclude, and which is used to determine if an
> added/modified/deleted file is supposed to be in the "sparse" area or not?
>
> Something like
>
>        *
>        !/Documentation/
>
> comes to mind.

That was what the original series was about (although I used git
config instead of .git/info/sparse). The hook has two advantages:

 - flexibility: you can set things differently based on branch, for
example, or filter files based on certain file content.
 - less code bloat (and less intrusive too), compare ~1000 lines of
change of the original series with this series.
-- 
Duy
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]