Git 2.23
[gitweb.git] / contrib / coccinelle / commit.cocci
index ac38525941fef973ba588c8262a1ba048797042b..d03453341e84c912e14d8b421b47857e7eb244b1 100644 (file)
@@ -11,20 +11,24 @@ expression c;
 + get_commit_tree_oid(c)->hash
 
 @@
-expression c;
-@@
-- c->maybe_tree
-+ get_commit_tree(c)
-
-@@
+identifier f !~ "^set_commit_tree$";
 expression c;
 expression s;
 @@
-- get_commit_tree(c) = s
-+ c->maybe_tree = s
+  f(...) {<...
+- c->maybe_tree = s
++ set_commit_tree(c, 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
+// repo_get_commit_tree() on the LHS.
 @@
+identifier f !~ "^(repo_get_commit_tree|get_commit_tree_in_graph_one|load_tree_for_commit|set_commit_tree)$";
 expression c;
 @@
-- return get_commit_tree(c);
-+ return c->maybe_tree;
+  f(...) {<...
+- c->maybe_tree
++ repo_get_commit_tree(specify_the_right_repo_here, c)
+  ...>}