Git fork

cocci: introduce rules to transform "refs" to pass ref store

Most of the functions in "refs.h" have two flavors: one that accepts a
`struct ref_store`, and one that figures it out via `the_repository`.
As part of the libification efforts we want to get rid of the latter
variant and stop relying on `the_repository` altogether.

Introduce a set of Coccinelle rules that transform callers of the "refs"
interfaces to pass a `struct ref_store`. These rules are not yet applied
by this patch so that it can be reviewed standalone more easily. This
will be done in the next patch.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

authored by

Patrick Steinhardt and committed by
Junio C Hamano
b198ee0b 54876c6d

+103
+103
contrib/coccinelle/refs.cocci
··· 1 + // Migrate "refs.h" to not rely on `the_repository` implicitly anymore. 2 + @@ 3 + @@ 4 + ( 5 + - resolve_ref_unsafe 6 + + refs_resolve_ref_unsafe 7 + | 8 + - resolve_refdup 9 + + refs_resolve_refdup 10 + | 11 + - read_ref_full 12 + + refs_read_ref_full 13 + | 14 + - read_ref 15 + + refs_read_ref 16 + | 17 + - ref_exists 18 + + refs_ref_exists 19 + | 20 + - head_ref 21 + + refs_head_ref 22 + | 23 + - for_each_ref 24 + + refs_for_each_ref 25 + | 26 + - for_each_ref_in 27 + + refs_for_each_ref_in 28 + | 29 + - for_each_fullref_in 30 + + refs_for_each_fullref_in 31 + | 32 + - for_each_tag_ref 33 + + refs_for_each_tag_ref 34 + | 35 + - for_each_branch_ref 36 + + refs_for_each_branch_ref 37 + | 38 + - for_each_remote_ref 39 + + refs_for_each_remote_ref 40 + | 41 + - for_each_glob_ref 42 + + refs_for_each_glob_ref 43 + | 44 + - for_each_glob_ref_in 45 + + refs_for_each_glob_ref_in 46 + | 47 + - head_ref_namespaced 48 + + refs_head_ref_namespaced 49 + | 50 + - for_each_namespaced_ref 51 + + refs_for_each_namespaced_ref 52 + | 53 + - for_each_rawref 54 + + refs_for_each_rawref 55 + | 56 + - safe_create_reflog 57 + + refs_create_reflog 58 + | 59 + - reflog_exists 60 + + refs_reflog_exists 61 + | 62 + - delete_ref 63 + + refs_delete_ref 64 + | 65 + - delete_refs 66 + + refs_delete_refs 67 + | 68 + - delete_reflog 69 + + refs_delete_reflog 70 + | 71 + - for_each_reflog_ent 72 + + refs_for_each_reflog_ent 73 + | 74 + - for_each_reflog_ent_reverse 75 + + refs_for_each_reflog_ent_reverse 76 + | 77 + - for_each_reflog 78 + + refs_for_each_reflog 79 + | 80 + - shorten_unambiguous_ref 81 + + refs_shorten_unambiguous_ref 82 + | 83 + - rename_ref 84 + + refs_rename_ref 85 + | 86 + - copy_existing_ref 87 + + refs_copy_existing_ref 88 + | 89 + - create_symref 90 + + refs_create_symref 91 + | 92 + - ref_transaction_begin 93 + + ref_store_transaction_begin 94 + | 95 + - update_ref 96 + + refs_update_ref 97 + | 98 + - reflog_expire 99 + + refs_reflog_expire 100 + ) 101 + ( 102 + + get_main_ref_store(the_repository), 103 + ...)