Re: [RFC PATCH v3 8/8] --sparse for porcelains
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Aug 15, 2009, 02:01 UTC
- Message-ID
- <7veird4yyi.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <200908142223.07994.jnareb@gmail.com>
Jakub Narebski <jnareb@gmail.com> writes:
Show 7 quoted lines
>>> Hmmm... this looks like either argument for introducing --full option >>> to git-checkout (ignore CE_VALID bit, checkout everything, and clean >>> CE_VALID (?))... >>> >>> ...or for going with _separate_ bit for partial checkout, like in the >>> very first version of this series, which otherwise functions like >>> CE_VALID, or is just used to mark that CE_VALID was set using sparse.
How would a separate bit help? Just like you need to clear CE_VALID bit to revert the index into a normal (or "non sparse") state somehow, you would need to have a way to clear that separate bit anyway.
A separate bit would help only if you want to handle assume-unchanged and sparse checkout independently. But my impression was that the recent lstat reduction effort addressed the issue assume-unchanged were invented to work around in the first place.
Cf. http://thread.gmane.org/gmane.comp.version-control.git/123218/focus=123252
There is no reason to use assume-unchanged to tell git not to lstat to see if a path is up-to-date by promising that you are not going to touch it after you checked it out.
So I do not understand why you would want a separate bit, nor why you think a separate bit would help when changing the index state from sparse to non-sparse (or vice versa).