On 10/9/2018 5:30 AM, Junio C Hamano wrote:
Jonathan Tan <jonathanta...@google.com> 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.

Reply via email to