From: Greg Price Date: Mon, 14 Dec 2009 23:06:19 GMT Subject: Re: [PATCH 03/23] Introduce "skip-worktree" bit in index, teach Git to get/set this bit Message-ID: <20091214230619.GA30538@dr-wily.mit.edu> In-Reply-To: <1260786666-8405-4-git-send-email-pclouds@gmail.com> Hi Duy, > +Skip-worktree bit > +----------------- > + > +Skip-worktree bit can be defined in one (long) sentence: When reading > +an entry, if it is marked as skip-worktree, then Git pretends its > +working directory version is up to date and read the index version > +instead. > + > +To elaborate, "reading" means checking for file existence, reading > +file attributes or file content. The working directory version may be > +present or absent. If present, its content may match against the index > +version or not. Writing is not affected by this bit, content safety > +is still first priority. Note that Git _can_ update working directory > +file, that is marked skip-worktree, if it is safe to do so (i.e. > +working directory version matches index version) > + > +Although this bit looks similar to assume-unchanged bit, its goal is > +different from assume-unchanged bit's. Skip-worktree also takes > +precedence over assume-unchanged bit when both are set. I confess I can't tell how the skip-worktree bit does differ from assume-unchanged. Is its 'goal' different only in that you have a different motivation for introducing it, or does it actually have a different effect -- and what is that different effect? Looking forward to seeing sparse checkouts soon! Cheers, Greg