summaryrefslogtreecommitdiff
path: root/http.h
diff options
context:
space:
mode:
authorLibravatar Nguyễn Thái Ngọc Duy <pclouds@gmail.com>2019-04-16 16:33:18 +0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2019-04-16 18:56:51 +0900
commita133c40b23c80ed77cfe077213a45af67be28f74 (patch)
treecbcaf6cee486fcae3c378f44e0d3a647b108374a /http.h
parentrefs.c: remove the_repo from read_ref_at() (diff)
downloadtgif-a133c40b23c80ed77cfe077213a45af67be28f74.tar.xz
commit.cocci: refactor code, avoid double rewrite
"maybe" pointer in 'struct commit' is tricky because it can be lazily initialized to take advantage of commit-graph if available. This makes it not safe to access directly. This leads to a rule in commit.cocci to rewrite 'x->maybe_tree' to 'get_commit_tree(x)'. But that rule alone could lead to incorrectly rewrite assignments, e.g. from x->maybe_tree = yes to get_commit_tree(x) = yes Because of this we have a second rule to revert this effect. Szeder found out that we could do better by performing the assignment rewrite rule first, then the remaining is read-only access and handled by the current first rule. For this to work, we need to transform "x->maybe_tree = y" to something that does NOT contain "x->maybe_tree" to avoid the original first rule. This is where set_commit_tree() comes in. Helped-by: SZEDER Gábor <szeder.dev@gmail.com> Helped-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'http.h')
0 files changed, 0 insertions, 0 deletions