summaryrefslogtreecommitdiff
path: root/commit.c
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2019-05-09 00:37:25 +0900
committerLibravatar Junio C Hamano <gitster@pobox.com>2019-05-09 00:37:25 +0900
commitea2dab1abbf14bfa7dd5299c9bb86d0f70aae019 (patch)
tree053b83263d2b4c5d5ab6b0b51a9dcfdb864808bf /commit.c
parentMerge branch 'nd/sha1-name-c-wo-the-repository' (diff)
parentrev-list: detect broken root trees (diff)
downloadtgif-ea2dab1abbf14bfa7dd5299c9bb86d0f70aae019.tar.xz
Merge branch 'tb/unexpected'
Code tightening against a "wrong" object appearing where an object of a different type is expected, instead of blindly assuming that the connection between objects are correctly made. * tb/unexpected: rev-list: detect broken root trees rev-list: let traversal die when --missing is not in use get_commit_tree(): return NULL for broken tree list-objects.c: handle unexpected non-tree entries list-objects.c: handle unexpected non-blob entries t: introduce tests for unexpected object types t: move 'hex2oct' into test-lib-functions.sh
Diffstat (limited to 'commit.c')
-rw-r--r--commit.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/commit.c b/commit.c
index a9e74647dc..8fa1883c61 100644
--- a/commit.c
+++ b/commit.c
@@ -351,10 +351,10 @@ struct tree *repo_get_commit_tree(struct repository *r,
if (commit->maybe_tree || !commit->object.parsed)
return commit->maybe_tree;
- if (commit->graph_pos == COMMIT_NOT_FROM_GRAPH)
- BUG("commit has NULL tree, but was not loaded from commit-graph");
+ if (commit->graph_pos != COMMIT_NOT_FROM_GRAPH)
+ return get_commit_tree_in_graph(r, commit);
- return get_commit_tree_in_graph(r, commit);
+ return NULL;
}
struct object_id *get_commit_tree_oid(const struct commit *commit)