summaryrefslogtreecommitdiff
path: root/contrib/coccinelle
diff options
context:
space:
mode:
authorDerrick Stolee <dstolee@microsoft.com>2018-04-06 19:09:38 (GMT)
committerJunio C Hamano <gitster@pobox.com>2018-04-11 01:47:16 (GMT)
commit2e27bd7731d47b374c1c14b53af07b3bfa39fcac (patch)
treec7635d69f1c20bfb0d3a61feebcedca13d9161ad /contrib/coccinelle
parent5bb03de102b40d9e564be3a3a39084a550db79cb (diff)
downloadgit-2e27bd7731d47b374c1c14b53af07b3bfa39fcac.zip
git-2e27bd7731d47b374c1c14b53af07b3bfa39fcac.tar.gz
git-2e27bd7731d47b374c1c14b53af07b3bfa39fcac.tar.bz2
treewide: replace maybe_tree with accessor methods
In anticipation of making trees load lazily, create a Coccinelle script (contrib/coccinelle/commit.cocci) to ensure that all references to the 'maybe_tree' member of struct commit are either mutations or accesses through get_commit_tree() or get_commit_tree_oid(). Apply the Coccinelle script to create the rest of the patch. Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'contrib/coccinelle')
-rw-r--r--contrib/coccinelle/commit.cocci30
1 files changed, 30 insertions, 0 deletions
diff --git a/contrib/coccinelle/commit.cocci b/contrib/coccinelle/commit.cocci
new file mode 100644
index 0000000..ac38525
--- /dev/null
+++ b/contrib/coccinelle/commit.cocci
@@ -0,0 +1,30 @@
+@@
+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
+
+@@
+expression c;
+@@
+- c->maybe_tree
++ get_commit_tree(c)
+
+@@
+expression c;
+expression s;
+@@
+- get_commit_tree(c) = s
++ c->maybe_tree = s
+
+@@
+expression c;
+@@
+- return get_commit_tree(c);
++ return c->maybe_tree;