Re: [PATCH] unpack-trees: allow missing CE_SKIP_WORKTREE objs
- From
Ben Peart <peartben@gmail.com>
- Date
- Oct 9, 2018, 14:49 UTC
- Message-ID
- <56cc6e57-d1e3-1182-4290-c8b6fa796534@gmail.com>
- In-Reply-To
- <xmqqpnwjpivb.fsf@gitster-ct.c.googlers.com>
On 10/9/2018 5:30 AM, Junio C Hamano wrote:
Show 17 quoted lines
> Jonathan Tan <jonathantanmy@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.