Message ID | 91dc4ccd04e3a6cc50ed389edb6814e1e7a0c4dc.1708612605.git.gitgitgadget@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | merge-tree: handle missing objects correctly | expand |
"Johannes Schindelin via GitGitGadget" <gitgitgadget@gmail.com> writes: > From: Johannes Schindelin <johannes.schindelin@gmx.de> > > The first thing the `parse_tree()` function does is to return early if > the tree has already been parsed. Therefore we do not need to guard the > `parse_tree()` call behind a check of that flag. > > As of time of writing, there are no other instances of this in Git's > code bases: whenever the `parsed` flag guards a `parse_tree()` call, it > guards more than just that call. > > Suggested-by: Patrick Steinhardt <ps@pks.im> > Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> > --- > cache-tree.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/cache-tree.c b/cache-tree.c > index c6508b64a5c..78d6ba92853 100644 > --- a/cache-tree.c > +++ b/cache-tree.c > @@ -779,7 +779,7 @@ static void prime_cache_tree_rec(struct repository *r, > struct cache_tree_sub *sub; > struct tree *subtree = lookup_tree(r, &entry.oid); > > - if (!subtree->object.parsed && parse_tree(subtree) < 0) > + if (parse_tree(subtree) < 0) > exit(128); > sub = cache_tree_sub(it, entry.path); > sub->cache_tree = cache_tree(); Obviously makes sense. I see no need for further comments. Will queue. Thanks.
diff --git a/cache-tree.c b/cache-tree.c index c6508b64a5c..78d6ba92853 100644 --- a/cache-tree.c +++ b/cache-tree.c @@ -779,7 +779,7 @@ static void prime_cache_tree_rec(struct repository *r, struct cache_tree_sub *sub; struct tree *subtree = lookup_tree(r, &entry.oid); - if (!subtree->object.parsed && parse_tree(subtree) < 0) + if (parse_tree(subtree) < 0) exit(128); sub = cache_tree_sub(it, entry.path); sub->cache_tree = cache_tree();