path: root/contrib/coccinelle
diff options
authorNguyễn Thái Ngọc Duy <>2019-04-16 09:33:19 (GMT)
committerJunio C Hamano <>2019-04-16 09:56:51 (GMT)
commit301b8c7f405d3cd4f32b14bd336ac8c0400d9382 (patch)
tree44f292b8e733a68f319928d660d544397d9c7a8e /contrib/coccinelle
parenta133c40b23c80ed77cfe077213a45af67be28f74 (diff)
commit.c: add repo_get_commit_tree()
Remove the implicit dependency on the_repository in this function. It will be used in sha1-name.c functions when they are updated to take any 'struct repository'. get_commit_tree() remains as a compat wrapper, to be slowly replaced later. Any access to "maybe_tree" field directly will result in _broken_ code after running through commit.cocci because we can't know what is the right repository to use. the_repository would be correct most of the time. But we're relying less and less on the_repository and that assumption may no longer be true. The transformation now is more of a poor man replacement for a C++ compiler catching access to private fields. Signed-off-by: Nguyễn Thái Ngọc Duy <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'contrib/coccinelle')
1 files changed, 3 insertions, 3 deletions
diff --git a/contrib/coccinelle/commit.cocci b/contrib/coccinelle/commit.cocci
index 663658a..d034533 100644
--- a/contrib/coccinelle/commit.cocci
+++ b/contrib/coccinelle/commit.cocci
@@ -23,12 +23,12 @@ expression s;
// These excluded functions must access c->maybe_tree direcly.
// Note that if c->maybe_tree is written somewhere outside of these
// functions, then the recommended transformation will be bogus with
-// get_commit_tree() on the LHS.
+// repo_get_commit_tree() on the LHS.
-identifier f !~ "^(get_commit_tree|get_commit_tree_in_graph_one|load_tree_for_commit|set_commit_tree)$";
+identifier f !~ "^(repo_get_commit_tree|get_commit_tree_in_graph_one|load_tree_for_commit|set_commit_tree)$";
expression c;
f(...) {<...
- c->maybe_tree
-+ get_commit_tree(c)
++ repo_get_commit_tree(specify_the_right_repo_here, c)