301b8c7f40
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 <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
35 lines
761 B
Plaintext
35 lines
761 B
Plaintext
@@
|
|
expression c;
|
|
@@
|
|
- &c->maybe_tree->object.oid
|
|
+ get_commit_tree_oid(c)
|
|
|
|
@@
|
|
expression c;
|
|
@@
|
|
- c->maybe_tree->object.oid.hash
|
|
+ get_commit_tree_oid(c)->hash
|
|
|
|
@@
|
|
identifier f !~ "^set_commit_tree$";
|
|
expression c;
|
|
expression 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;
|
|
@@
|
|
f(...) {<...
|
|
- c->maybe_tree
|
|
+ repo_get_commit_tree(specify_the_right_repo_here, c)
|
|
...>}
|