Jonathan Tan <jonathantanmy@xxxxxxxxxx> writes: > After feedback, I restricted this to partial clone. Once restricted, I > agree with Ben that this can be done for all users of > cache_tree_update(), not just unpack-trees, so I have removed the > ability to control the behavior using a flag. Makes sense. Great. > I also took the opportunity to simplify the missing check by using a > variable. > > + ce_missing_ok = mode == S_IFGITLINK || missing_ok || > + (repository_format_partial_clone && > + ce_skip_worktree(ce)); > if (is_null_oid(oid) || > - (mode != S_IFGITLINK && !missing_ok && !has_object_file(oid))) { > + (!ce_missing_ok && !has_object_file(oid))) { OK. "An attempt to check out null object is bad, and otherwise, unless we determined that it is OK to lack the object recorded in ce, it is bad too. By the way, the way we determine if it is OK to be missing the object is given above". Easier to read than the original.