Jakub Narebski <jnareb@xxxxxxxxx> writes: >>> 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). -- 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