From: Nguyen Thai Ngoc Duy Date: Sat, 31 Jul 2010 03:12:59 GMT Subject: Re: [PATCH 2/3] unpack-trees.c: Do not check ce_stage in will_have_skip_worktree() Message-ID: In-Reply-To: <20100731021144.GA906@burratino> 2010/7/31 Jonathan Nieder : > Nguyễn Thái Ngọc Duy wrote: > >> The idea of sparse checkout is conflicted entries should always stay >> in worktree, regardless $GIT_DIR/info/sparse-checkout. Therefore, >> ce_stage(ce) usually means no CE_SKIP_WORKTREE. This is true when all >> entries have been merged into the index, and identical staged entries >> collapsed. >> >> However, will_have_skip_worktree() since f1f523e (unpack-trees(): >> ignore worktree check outside checkout area) is also used earlier in >> verify_* functions, when entries have not been merged to index yet >> and ce_stage() may not be zero. Checking ce_stage() then can make >> unnecessary verification on entries outside checkout area and error out. > > s/make/provoke/? > > So: conflicts from unmerged index entries are supposed to be kept in > the work tree; but unpack_trees() is checking too early and seeing > conflicts where there are none.  Do I understand correctly? Correct. -- Duy