+ 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)
+ ...>}