On 10/9/2018 5:30 AM, Junio C Hamano wrote:
Jonathan Tan <jonathantanmy@xxxxxxxxxx> writes:
@@ -1635,6 +1635,7 @@ int unpack_trees(unsigned len, struct tree_desc *t, struct unpack_trees_options
o->result.cache_tree = cache_tree();
if (!cache_tree_fully_valid(o->result.cache_tree))
cache_tree_update(&o->result,
+ WRITE_TREE_SKIP_WORKTREE_MISSING_OK |
WRITE_TREE_SILENT |
WRITE_TREE_REPAIR);
}
Hmmmm. Should this be passing the bit unconditionally? Shouldn't
it be set only when we are doing lazy clone? A non-lazy clone that
merely uses sparse checkout has nowhere else to turn to if it loses
a blob object that currently is not necessary to complete a checkout,
unlike a repository with promisor.
I agree. I believe this logic should only be triggered when running in
a partial clone repo. Otherwise, we're potentially changing the behavior
of 'normal' repos unnecessarily.