[PATCH v3 00/33] nd/sha1-name-c-wo-the-repository updates
- From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
- Date
- Apr 6, 2019, 11:34 UTC
- Message-ID
- <20190406113453.5149-1-pclouds@gmail.com>
- In-Reply-To
- <20190403113457.20399-1-pclouds@gmail.com>
Hopefully the final fix for commit.cocci in 11/33. Instead of adding more commit details on 01/33 I replaced it with the two commits from Szeder, he put more efforts into them anyway.
Range-diff dựa trên v2:
1: b992f6c799 ! 1: aa603ea09e rebase: 'make coccicheck' cleanup
@@ -1,6 +1,14 @@
-Author: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
+Author: SZEDER Gábor <szeder.dev@gmail.com>
- rebase: 'make coccicheck' cleanup
+ builtin rebase: use FREE_AND_NULL
+
+ Use the macro FREE_AND_NULL to release memory allocated for
+ 'head_name' and clear its pointer.
+
+ Patch generated with 'contrib/coccinelle/free.cocci' and Coccinelle
+ v1.0.7 (previous Coccinelle versions don't notice this).
+
+ Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
diff --git a/builtin/rebase.c b/builtin/rebase.c
--- a/builtin/rebase.c
@@ -15,12 +23,3 @@
branch_name = "HEAD";
}
if (get_oid("HEAD", &options.orig_head))
-@@
- * we just fast-forwarded.
- */
- strbuf_reset(&msg);
-- if (!oidcmp(&merge_base, &options.orig_head)) {
-+ if (oideq(&merge_base, &options.orig_head)) {
- printf(_("Fast-forwarded %s to %s.\n"),
- branch_name, options.onto_name);
- strbuf_addf(&msg, "rebase finished: %s onto %s",
-: ---------- > 2: b03cd28a4e builtin rebase: use oideq()
2: e76c73a75a = 3: 3a68454479 packfile.c: add repo_approximate_object_count()
3: 962a168516 = 4: 9738ab8797 refs.c: add refs_ref_exists()
4: d06bea7909 = 5: 1a2cb46fe9 refs.c: add refs_shorten_unambiguous_ref()
5: fb880154e6 = 6: ffdf9ad9bf refs.c: remove the_repo from substitute_branch_name()
6: 6fd7960522 = 7: 697daf317f refs.c: remove the_repo from expand_ref()
7: f5ad3133bc = 8: fac41b3b1c refs.c: add repo_dwim_ref()
8: 7552a4085a = 9: db528690fd refs.c: add repo_dwim_log()
9: 962fff4c9c = 10: 9318416f94 refs.c: remove the_repo from read_ref_at()
10: 68876a150f ! 11: 848456f59c commit.c: add repo_get_commit_tree()
@@ -2,6 +2,11 @@
commit.c: add repo_get_commit_tree()
+ 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.
+
diff --git a/commit.c b/commit.c
--- a/commit.c
+++ b/commit.c
@@ -29,6 +34,15 @@
--- a/commit.h
+++ b/commit.h
@@
+
+ /*
+ * If the commit is loaded from the commit-graph file, then this
+- * member may be NULL. Only access it through get_commit_tree()
++ * member may be NULL. Only access it through repo_get_commit_tree()
+ * or get_commit_tree_oid().
+ */
+ struct tree *maybe_tree;
+@@
*/
void free_commit_buffer(struct parsed_object_pool *pool, struct commit *);
@@ -57,3 +71,10 @@
...>}
@@
+ expression c;
++expression r;
+ expression s;
+ @@
+-- get_commit_tree(c) = s
++- repo_get_commit_tree(r, c) = s
+ + c->maybe_tree = s
11: 9817d150b2 = 12: a60c06b63a sha1-name.c: remove the_repo from sort_ambiguous()
12: 7ce23aaeb5 = 13: 3cbbe5de4a sha1-name.c: remove the_repo from find_abbrev_len_packed()
13: 2d99af106f = 14: a79bf276bd sha1-name.c: add repo_find_unique_abbrev_r()
14: f63626e937 = 15: aa0fa191d9 sha1-name.c: store and use repo in struct disambiguate_state
15: ce9f7ebab8 = 16: ad00c19d30 sha1-name.c: add repo_for_each_abbrev()
16: 8cb8278d6e = 17: d9ff762461 sha1-name.c: remove the_repo from get_short_oid()
17: 9210dd01b8 = 18: 46b8a05d8c sha1-name.c: remove the_repo from interpret_nth_prior_checkout()
18: a161ed33d2 = 19: 52ec37f2d7 sha1-name.c: remove the_repo from interpret_branch_mark()
19: 6bf4df0131 = 20: f50562b480 sha1-name.c: add repo_interpret_branch_name()
20: 94f707cb7f = 21: 66619e37cb sha1-name.c: remove the_repo from get_oid_oneline()
21: 2a1dd6368c = 22: d960f47821 sha1-name.c: remove the_repo from get_describe_name()
22: f958b565db = 23: f38960304d sha1-name.c: remove the_repo from get_oid_basic()
23: ec821007b2 = 24: 3b69cfcd8b sha1-name.c: remove the_repo from get_oid_1()
24: 317a365f30 = 25: e889ae729a sha1-name.c: remove the_repo from handle_one_ref()
25: 3a46ea22b2 = 26: 386b6f4654 sha1-name.c: remove the_repo from diagnose_invalid_index_path()
26: 59a8cb9749 = 27: d3ff3ee163 sha1-name.c: remove the_repo from resolve_relative_path()
27: d1f4df1915 = 28: 226a30e6f6 sha1-name.c: remove the_repo from get_oid_with_context_1()
28: 3034e9cf1e = 29: 5d0aed2f70 sha1-name.c: add repo_get_oid()
29: 9c72941ec9 = 30: 72ab26a247 submodule-config.c: use repo_get_oid for reading .gitmodules
30: 40acfb6b82 = 31: 53dc11463d sha1-name.c: remove the_repo from maybe_die_on_misspelt_object_name
31: 3b8be75e77 = 32: 01b4deaa8a sha1-name.c: remove the_repo from other get_oid_*
32: 59cadc5deb = 33: 03a7283ef3 sha1-name.c: remove the_repo from get_oid_mb()Nguyễn Thái Ngọc Duy (31): packfile.c: add repo_approximate_object_count() refs.c: add refs_ref_exists() refs.c: add refs_shorten_unambiguous_ref() refs.c: remove the_repo from substitute_branch_name() refs.c: remove the_repo from expand_ref() refs.c: add repo_dwim_ref() refs.c: add repo_dwim_log() refs.c: remove the_repo from read_ref_at() commit.c: add repo_get_commit_tree() sha1-name.c: remove the_repo from sort_ambiguous() sha1-name.c: remove the_repo from find_abbrev_len_packed() sha1-name.c: add repo_find_unique_abbrev_r() sha1-name.c: store and use repo in struct disambiguate_state sha1-name.c: add repo_for_each_abbrev() sha1-name.c: remove the_repo from get_short_oid() sha1-name.c: remove the_repo from interpret_nth_prior_checkout() sha1-name.c: remove the_repo from interpret_branch_mark() sha1-name.c: add repo_interpret_branch_name() sha1-name.c: remove the_repo from get_oid_oneline() sha1-name.c: remove the_repo from get_describe_name() sha1-name.c: remove the_repo from get_oid_basic() sha1-name.c: remove the_repo from get_oid_1() sha1-name.c: remove the_repo from handle_one_ref() sha1-name.c: remove the_repo from diagnose_invalid_index_path() sha1-name.c: remove the_repo from resolve_relative_path() sha1-name.c: remove the_repo from get_oid_with_context_1() sha1-name.c: add repo_get_oid() submodule-config.c: use repo_get_oid for reading .gitmodules sha1-name.c: remove the_repo from maybe_die_on_misspelt_object_name sha1-name.c: remove the_repo from other get_oid_* sha1-name.c: remove the_repo from get_oid_mb()
SZEDER Gábor (2): builtin rebase: use FREE_AND_NULL builtin rebase: use oideq()
builtin/rebase.c | 5 +- builtin/show-branch.c | 6 +- cache.h | 50 ++-- commit.c | 5 +- commit.h | 5 +- contrib/coccinelle/commit.cocci | 7 +- dir.c | 8 + dir.h | 4 +- packfile.c | 14 +- packfile.h | 3 +- refs.c | 71 ++++-- refs.h | 9 +- setup.c | 7 +- sha1-name.c | 388 ++++++++++++++++++----------- submodule-config.c | 20 +- t/t7814-grep-recurse-submodules.sh | 6 +- upload-pack.c | 2 +- 17 files changed, 378 insertions(+), 232 deletions(-)
-- 2.21.0.479.g47ac719cd3