From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: git@vger.kernel.org
Cc: "Junio C Hamano" <gitster@pobox.com>,
"Martin Ågren" <martin.agren@gmail.com>,
"Elijah Newren" <newren@gmail.com>,
"Derrick Stolee" <derrickstolee@github.com>,
"brian m . carlson" <sandals@crustytoothpaste.net>,
"Phillip Wood" <phillip.wood123@gmail.com>,
"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Subject: [PATCH v5 09/27] revisions API users: use release_revisions() needing REV_INFO_INIT
Date: Sat, 2 Apr 2022 12:49:23 +0200 [thread overview]
Message-ID: <patch-v5-09.27-240307bc3c6-20220402T102002Z-avarab@gmail.com> (raw)
In-Reply-To: <cover-v5-00.27-00000000000-20220402T102002Z-avarab@gmail.com>
Use release_revisions() to various users of "struct rev_list" which
need to have their "struct rev_info" zero-initialized before we can
start using it.
For the bundle.c code see the early exit case added in
3bbbe467f29 (bundle verify: error out if called without an object
database, 2019-05-27).
For the relevant bisect.c code see 45b6370812c (bisect: libify
`check_good_are_ancestors_of_bad` and its dependents, 2020-02-17).
For the submodule.c code see the "goto" on "(!left || !right || !sub)"
added in 8e6df65015f (submodule: refactor show_submodule_summary with
helper function, 2016-08-31).
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
bisect.c | 18 ++++++++++++------
builtin/submodule--helper.c | 3 ++-
bundle.c | 12 ++++++++----
revision.h | 21 ++++++++++++++++++++-
submodule.c | 3 ++-
5 files changed, 44 insertions(+), 13 deletions(-)
diff --git a/bisect.c b/bisect.c
index cc6b8b6230d..b63669cc9d7 100644
--- a/bisect.c
+++ b/bisect.c
@@ -1010,7 +1010,7 @@ void read_bisect_terms(const char **read_bad, const char **read_good)
*/
enum bisect_error bisect_next_all(struct repository *r, const char *prefix)
{
- struct rev_info revs;
+ struct rev_info revs = REV_INFO_INIT;
struct commit_list *tried;
int reaches = 0, all = 0, nr, steps;
enum bisect_error res = BISECT_OK;
@@ -1035,7 +1035,7 @@ enum bisect_error bisect_next_all(struct repository *r, const char *prefix)
res = check_good_are_ancestors_of_bad(r, prefix, no_checkout);
if (res)
- return res;
+ goto cleanup;
bisect_rev_setup(r, &revs, prefix, "%s", "^%s", 1);
@@ -1060,14 +1060,16 @@ enum bisect_error bisect_next_all(struct repository *r, const char *prefix)
term_good,
term_bad);
- return BISECT_FAILED;
+ res = BISECT_FAILED;
+ goto cleanup;
}
if (!all) {
fprintf(stderr, _("No testable commit found.\n"
"Maybe you started with bad path arguments?\n"));
- return BISECT_NO_TESTABLE_COMMIT;
+ res = BISECT_NO_TESTABLE_COMMIT;
+ goto cleanup;
}
bisect_rev = &revs.commits->item->object.oid;
@@ -1087,7 +1089,8 @@ enum bisect_error bisect_next_all(struct repository *r, const char *prefix)
* for negative return values for early returns up
* until the cmd_bisect__helper() caller.
*/
- return BISECT_INTERNAL_SUCCESS_1ST_BAD_FOUND;
+ res = BISECT_INTERNAL_SUCCESS_1ST_BAD_FOUND;
+ goto cleanup;
}
nr = all - reaches - 1;
@@ -1106,7 +1109,10 @@ enum bisect_error bisect_next_all(struct repository *r, const char *prefix)
/* Clean up objects used, as they will be reused. */
repo_clear_commit_marks(r, ALL_REV_FLAGS);
- return bisect_checkout(bisect_rev, no_checkout);
+ res = bisect_checkout(bisect_rev, no_checkout);
+cleanup:
+ release_revisions(&revs);
+ return res;
}
static inline int log2i(int n)
diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c
index 24980863f68..cda33ee4d2b 100644
--- a/builtin/submodule--helper.c
+++ b/builtin/submodule--helper.c
@@ -766,7 +766,7 @@ static void status_submodule(const char *path, const struct object_id *ce_oid,
{
char *displaypath;
struct strvec diff_files_args = STRVEC_INIT;
- struct rev_info rev;
+ struct rev_info rev = REV_INFO_INIT;
int diff_files_result;
struct strbuf buf = STRBUF_INIT;
const char *git_dir;
@@ -853,6 +853,7 @@ static void status_submodule(const char *path, const struct object_id *ce_oid,
cleanup:
strvec_clear(&diff_files_args);
free(displaypath);
+ release_revisions(&rev);
}
static void status_submodule_cb(const struct cache_entry *list_item,
diff --git a/bundle.c b/bundle.c
index d50cfb5aa7e..6a870a6edb7 100644
--- a/bundle.c
+++ b/bundle.c
@@ -196,14 +196,16 @@ int verify_bundle(struct repository *r,
* to be verbose about the errors
*/
struct string_list *p = &header->prerequisites;
- struct rev_info revs;
+ struct rev_info revs = REV_INFO_INIT;
const char *argv[] = {NULL, "--all", NULL};
struct commit *commit;
int i, ret = 0, req_nr;
const char *message = _("Repository lacks these prerequisite commits:");
- if (!r || !r->objects || !r->objects->odb)
- return error(_("need a repository to verify a bundle"));
+ if (!r || !r->objects || !r->objects->odb) {
+ ret = error(_("need a repository to verify a bundle"));
+ goto cleanup;
+ }
repo_init_revisions(r, &revs, NULL);
for (i = 0; i < p->nr; i++) {
@@ -221,7 +223,7 @@ int verify_bundle(struct repository *r,
error("%s %s", oid_to_hex(oid), name);
}
if (revs.pending.nr != p->nr)
- return ret;
+ goto cleanup;
req_nr = revs.pending.nr;
setup_revisions(2, argv, &revs, NULL);
@@ -284,6 +286,8 @@ int verify_bundle(struct repository *r,
printf_ln("The bundle uses this filter: %s",
list_objects_filter_spec(&header->filter));
}
+cleanup:
+ release_revisions(&revs);
return ret;
}
diff --git a/revision.h b/revision.h
index b9070e43428..2621eb6d65a 100644
--- a/revision.h
+++ b/revision.h
@@ -329,6 +329,25 @@ struct rev_info {
struct tmp_objdir *remerge_objdir;
};
+/**
+ * Initialize the "struct rev_info" structure with a macro.
+ *
+ * This will not fully initialize a "struct rev_info", the
+ * repo_init_revisions() function needs to be called before
+ * setup_revisions() and any revision walking takes place.
+ *
+ * Use REV_INFO_INIT to make the "struct rev_info" safe for passing to
+ * release_revisions() when it's inconvenient (e.g. due to a "goto
+ * cleanup" pattern) to arrange for repo_init_revisions() to be called
+ * before release_revisions() is called.
+ *
+ * Initializing with this REV_INFO_INIT is redundant to invoking
+ * repo_init_revisions(). If repo_init_revisions() is guaranteed to be
+ * called before release_revisions() the "struct rev_info" can be left
+ * uninitialized.
+ */
+#define REV_INFO_INIT { 0 }
+
/**
* Initialize a rev_info structure with default values. The third parameter may
* be NULL or can be prefix path, and then the `.prefix` variable will be set
@@ -363,7 +382,7 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs,
/**
* Free data allocated in a "struct rev_info" after it's been
- * initialized with repo_init_revisions().
+ * initialized with repo_init_revisions() or REV_INFO_INIT.
*/
void release_revisions(struct rev_info *revs);
diff --git a/submodule.c b/submodule.c
index 7b5d7753930..7923e951e1c 100644
--- a/submodule.c
+++ b/submodule.c
@@ -619,7 +619,7 @@ void show_submodule_diff_summary(struct diff_options *o, const char *path,
struct object_id *one, struct object_id *two,
unsigned dirty_submodule)
{
- struct rev_info rev;
+ struct rev_info rev = REV_INFO_INIT;
struct commit *left = NULL, *right = NULL;
struct commit_list *merge_bases = NULL;
struct repository *sub;
@@ -646,6 +646,7 @@ void show_submodule_diff_summary(struct diff_options *o, const char *path,
out:
free_commit_list(merge_bases);
+ release_revisions(&rev);
clear_commit_marks(left, ~0);
clear_commit_marks(right, ~0);
if (sub) {
--
2.35.1.1585.gd85f8dcb745
next prev parent reply other threads:[~2022-04-02 10:50 UTC|newest]
Thread overview: 252+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-09 13:16 [PATCH 00/24] revision.[ch]: add and use release_revisions() Ævar Arnfjörð Bjarmason
2022-03-09 13:16 ` [PATCH 01/24] t/helper/test-fast-rebase.c: don't leak "struct strbuf" Ævar Arnfjörð Bjarmason
2022-03-09 13:16 ` [PATCH 02/24] blame: use "goto cleanup" for cleanup_scoreboard() Ævar Arnfjörð Bjarmason
2022-03-09 13:16 ` [PATCH 03/24] format-patch: don't leak "extra_headers" or "ref_message_ids" Ævar Arnfjörð Bjarmason
2022-03-09 20:34 ` Taylor Blau
2022-03-09 13:16 ` [PATCH 04/24] revision.[ch]: split freeing of revs->commit into a function Ævar Arnfjörð Bjarmason
2022-03-09 13:16 ` [PATCH 05/24] revision.[ch]: provide and start using a release_revisions() Ævar Arnfjörð Bjarmason
2022-03-09 21:32 ` Taylor Blau
2022-03-09 22:57 ` Junio C Hamano
2022-03-10 0:28 ` Ævar Arnfjörð Bjarmason
2022-03-10 1:11 ` Junio C Hamano
2022-03-10 14:57 ` Ævar Arnfjörð Bjarmason
2022-03-10 14:56 ` Ævar Arnfjörð Bjarmason
2022-03-09 13:16 ` [PATCH 06/24] revisions API users: add straightforward release_revisions() Ævar Arnfjörð Bjarmason
2022-03-09 13:16 ` [PATCH 07/24] revisions API users: use release_revisions() needing "{ 0 }" init Ævar Arnfjörð Bjarmason
2022-03-09 13:16 ` [PATCH 08/24] revisions API users: add "goto cleanup" for release_revisions() Ævar Arnfjörð Bjarmason
2022-03-09 19:08 ` Derrick Stolee
2022-03-09 13:16 ` [PATCH 09/24] revisions API users: use release_revisions() in http-push.c Ævar Arnfjörð Bjarmason
2022-03-09 13:16 ` [PATCH 10/24] revisions API users: use release_revisions() in builtin/log.c Ævar Arnfjörð Bjarmason
2022-03-09 19:12 ` Derrick Stolee
2022-03-09 21:58 ` Taylor Blau
2022-03-09 21:53 ` Taylor Blau
2022-03-09 13:16 ` [PATCH 11/24] revisions API users: use release_revisions() with UNLEAK() Ævar Arnfjörð Bjarmason
2022-03-09 13:16 ` [PATCH 12/24] revisions API users: use release_revisions() in submodule.c edge case Ævar Arnfjörð Bjarmason
2022-03-09 13:16 ` [PATCH 13/24] revisions API users: use release_revisions() in wt-status.c " Ævar Arnfjörð Bjarmason
2022-03-09 13:16 ` [PATCH 14/24] revisions API users: use release_revisions() for "prune_data" users Ævar Arnfjörð Bjarmason
2022-03-09 13:16 ` [PATCH 15/24] revisions API: have release_revisions() release "commits" Ævar Arnfjörð Bjarmason
2022-03-09 13:16 ` [PATCH 16/24] revisions API: have release_revisions() release "mailmap" Ævar Arnfjörð Bjarmason
2022-03-09 19:17 ` Derrick Stolee
2022-03-09 13:16 ` [PATCH 17/24] revisions API: have release_revisions() release "cmdline" Ævar Arnfjörð Bjarmason
2022-03-09 19:19 ` Derrick Stolee
2022-03-10 15:10 ` Ævar Arnfjörð Bjarmason
2022-03-09 13:16 ` [PATCH 18/24] revisions API: have release_revisions() release "grep_filter" Ævar Arnfjörð Bjarmason
2022-03-09 13:16 ` [PATCH 19/24] revisions API: have release_revisions() release "prune_data" Ævar Arnfjörð Bjarmason
2022-03-09 13:16 ` [PATCH 20/24] revisions API: clear "boundary_commits" in release_revisions() Ævar Arnfjörð Bjarmason
2022-03-09 19:21 ` Derrick Stolee
2022-03-10 14:55 ` Ævar Arnfjörð Bjarmason
2022-03-09 13:16 ` [PATCH 21/24] revisions API: release "reflog_info" in release revisions() Ævar Arnfjörð Bjarmason
2022-03-09 19:24 ` Derrick Stolee
2022-03-10 0:13 ` Ævar Arnfjörð Bjarmason
2022-03-09 13:16 ` [PATCH 22/24] revisions API: call diff_free(&revs->pruning) in revisions_release() Ævar Arnfjörð Bjarmason
2022-03-09 13:16 ` [PATCH 23/24] revisions API: have release_revisions() release "date_mode" Ævar Arnfjörð Bjarmason
2022-03-09 13:16 ` [PATCH 24/24] revisions API: have release_revisions() release "topo_walk_info" Ævar Arnfjörð Bjarmason
2022-03-09 19:27 ` Derrick Stolee
2022-03-09 14:34 ` [PATCH 00/24] revision.[ch]: add and use release_revisions() Derrick Stolee
2022-03-09 19:30 ` Derrick Stolee
2022-03-09 19:39 ` Ævar Arnfjörð Bjarmason
2022-03-09 20:05 ` Junio C Hamano
2022-03-23 20:31 ` [PATCH v2 00/27] " Ævar Arnfjörð Bjarmason
2022-03-23 20:31 ` [PATCH v2 01/27] t/helper/test-fast-rebase.c: don't leak "struct strbuf" Ævar Arnfjörð Bjarmason
2022-03-24 4:13 ` Junio C Hamano
2022-03-24 16:57 ` Ævar Arnfjörð Bjarmason
2022-03-24 17:34 ` Junio C Hamano
2022-03-23 20:31 ` [PATCH v2 02/27] blame: use "goto cleanup" for cleanup_scoreboard() Ævar Arnfjörð Bjarmason
2022-03-24 4:23 ` Junio C Hamano
2022-03-23 20:31 ` [PATCH v2 03/27] string_list API users: use string_list_init_{no,}dup Ævar Arnfjörð Bjarmason
2022-03-23 20:31 ` [PATCH v2 04/27] format-patch: don't leak "extra_headers" or "ref_message_ids" Ævar Arnfjörð Bjarmason
2022-03-24 4:33 ` Junio C Hamano
2022-03-24 16:59 ` Ævar Arnfjörð Bjarmason
2022-03-23 20:31 ` [PATCH v2 05/27] revision.[ch]: split freeing of revs->commit into a function Ævar Arnfjörð Bjarmason
2022-03-24 4:33 ` Junio C Hamano
2022-03-24 17:01 ` Ævar Arnfjörð Bjarmason
2022-03-23 20:31 ` [PATCH v2 06/27] revision.[ch]: provide and start using a release_revisions() Ævar Arnfjörð Bjarmason
2022-03-24 4:43 ` Junio C Hamano
2022-03-24 17:02 ` Ævar Arnfjörð Bjarmason
2022-03-23 20:31 ` [PATCH v2 07/27] revisions API users: add straightforward release_revisions() Ævar Arnfjörð Bjarmason
2022-03-23 20:31 ` [PATCH v2 08/27] revisions API users: use release_revisions() needing "{ 0 }" init Ævar Arnfjörð Bjarmason
2022-03-24 4:53 ` Junio C Hamano
2022-03-24 17:04 ` Ævar Arnfjörð Bjarmason
2022-03-24 17:39 ` Junio C Hamano
2022-03-25 0:47 ` Junio C Hamano
2022-03-23 20:31 ` [PATCH v2 09/27] stash: always have the owner of "stash_info" free it Ævar Arnfjörð Bjarmason
2022-03-25 0:51 ` Junio C Hamano
2022-03-23 20:32 ` [PATCH v2 10/27] revisions API users: add "goto cleanup" for release_revisions() Ævar Arnfjörð Bjarmason
2022-03-25 0:52 ` Junio C Hamano
2022-03-23 20:32 ` [PATCH v2 11/27] revisions API users: use release_revisions() in http-push.c Ævar Arnfjörð Bjarmason
2022-03-23 20:32 ` [PATCH v2 12/27] revisions API users: use release_revisions() in builtin/log.c Ævar Arnfjörð Bjarmason
2022-03-25 1:03 ` Junio C Hamano
2022-03-23 20:32 ` [PATCH v2 13/27] revisions API users: use release_revisions() with UNLEAK() Ævar Arnfjörð Bjarmason
2022-03-23 20:32 ` [PATCH v2 14/27] revisions API users: use release_revisions() in submodule.c edge case Ævar Arnfjörð Bjarmason
2022-03-25 1:07 ` Junio C Hamano
2022-03-23 20:32 ` [PATCH v2 15/27] revisions API users: use release_revisions() for "prune_data" users Ævar Arnfjörð Bjarmason
2022-03-23 20:32 ` [PATCH v2 16/27] revisions API: have release_revisions() release "commits" Ævar Arnfjörð Bjarmason
2022-03-23 20:32 ` [PATCH v2 17/27] revisions API: have release_revisions() release "mailmap" Ævar Arnfjörð Bjarmason
2022-03-25 1:11 ` Junio C Hamano
2022-03-23 20:32 ` [PATCH v2 18/27] revisions API: have release_revisions() release "cmdline" Ævar Arnfjörð Bjarmason
2022-03-25 1:16 ` Junio C Hamano
2022-03-23 20:32 ` [PATCH v2 19/27] revisions API: have release_revisions() release "filter" Ævar Arnfjörð Bjarmason
2022-03-25 1:17 ` Junio C Hamano
2022-03-23 20:32 ` [PATCH v2 20/27] revisions API: have release_revisions() release "grep_filter" Ævar Arnfjörð Bjarmason
2022-03-23 20:32 ` [PATCH v2 21/27] revisions API: have release_revisions() release "prune_data" Ævar Arnfjörð Bjarmason
2022-03-25 1:20 ` Junio C Hamano
2022-03-23 20:32 ` [PATCH v2 22/27] revisions API: clear "boundary_commits" in release_revisions() Ævar Arnfjörð Bjarmason
2022-03-23 20:32 ` [PATCH v2 23/27] revisions API: release "reflog_info" in release revisions() Ævar Arnfjörð Bjarmason
2022-03-23 20:32 ` [PATCH v2 24/27] revisions API: call diff_free(&revs->pruning) in revisions_release() Ævar Arnfjörð Bjarmason
2022-03-23 20:32 ` [PATCH v2 25/27] revisions API: have release_revisions() release "date_mode" Ævar Arnfjörð Bjarmason
2022-03-23 20:32 ` [PATCH v2 26/27] revisions API: have release_revisions() release "topo_walk_info" Ævar Arnfjörð Bjarmason
2022-03-23 20:32 ` [PATCH v2 27/27] revisions API: add a TODO for diff_free(&revs->diffopt) Ævar Arnfjörð Bjarmason
2022-03-25 1:41 ` [PATCH v2 00/27] revision.[ch]: add and use release_revisions() Junio C Hamano
2022-03-25 9:14 ` Ævar Arnfjörð Bjarmason
2022-03-25 17:18 ` [PATCH v3 " Ævar Arnfjörð Bjarmason
2022-03-25 17:18 ` [PATCH v3 01/27] t/helper/test-fast-rebase.c: don't leak "struct strbuf" Ævar Arnfjörð Bjarmason
2022-03-25 17:18 ` [PATCH v3 02/27] blame: use "goto cleanup" for cleanup_scoreboard() Ævar Arnfjörð Bjarmason
2022-03-25 17:18 ` [PATCH v3 03/27] string_list API users: use string_list_init_{no,}dup Ævar Arnfjörð Bjarmason
2022-03-25 17:18 ` [PATCH v3 04/27] format-patch: don't leak "extra_headers" or "ref_message_ids" Ævar Arnfjörð Bjarmason
2022-03-25 17:18 ` [PATCH v3 05/27] revision.[ch]: split freeing of revs->commit into a function Ævar Arnfjörð Bjarmason
2022-03-25 17:18 ` [PATCH v3 06/27] revision.[ch]: provide and start using a release_revisions() Ævar Arnfjörð Bjarmason
2022-03-25 17:18 ` [PATCH v3 07/27] revisions API users: add straightforward release_revisions() Ævar Arnfjörð Bjarmason
2022-03-25 17:18 ` [PATCH v3 08/27] revisions API users: add "goto cleanup" for "rev_info" early exit Ævar Arnfjörð Bjarmason
2022-03-25 20:30 ` Junio C Hamano
2022-03-26 0:37 ` Ævar Arnfjörð Bjarmason
2022-03-26 5:24 ` Junio C Hamano
2022-03-28 17:55 ` Derrick Stolee
2022-03-28 18:55 ` Ævar Arnfjörð Bjarmason
2022-03-28 20:03 ` Junio C Hamano
2022-03-25 17:18 ` [PATCH v3 09/27] revisions API users: use release_revisions() in submodule.c edge case Ævar Arnfjörð Bjarmason
2022-03-25 17:18 ` [PATCH v3 10/27] stash: always have the owner of "stash_info" free it Ævar Arnfjörð Bjarmason
2022-03-25 17:18 ` [PATCH v3 11/27] revisions API users: add "goto cleanup" for release_revisions() Ævar Arnfjörð Bjarmason
2022-03-25 17:18 ` [PATCH v3 12/27] revisions API users: use release_revisions() in http-push.c Ævar Arnfjörð Bjarmason
2022-03-25 17:18 ` [PATCH v3 13/27] revisions API users: use release_revisions() in builtin/log.c Ævar Arnfjörð Bjarmason
2022-03-25 17:18 ` [PATCH v3 14/27] revisions API users: use release_revisions() with UNLEAK() Ævar Arnfjörð Bjarmason
2022-03-25 17:18 ` [PATCH v3 15/27] revisions API users: use release_revisions() for "prune_data" users Ævar Arnfjörð Bjarmason
2022-03-25 17:18 ` [PATCH v3 16/27] revisions API: have release_revisions() release "commits" Ævar Arnfjörð Bjarmason
2022-03-25 17:18 ` [PATCH v3 17/27] revisions API: have release_revisions() release "mailmap" Ævar Arnfjörð Bjarmason
2022-03-25 17:18 ` [PATCH v3 18/27] revisions API: have release_revisions() release "cmdline" Ævar Arnfjörð Bjarmason
2022-03-25 17:18 ` [PATCH v3 19/27] revisions API: have release_revisions() release "filter" Ævar Arnfjörð Bjarmason
2022-03-25 17:18 ` [PATCH v3 20/27] revisions API: have release_revisions() release "grep_filter" Ævar Arnfjörð Bjarmason
2022-03-25 17:18 ` [PATCH v3 21/27] revisions API: have release_revisions() release "prune_data" Ævar Arnfjörð Bjarmason
2022-03-25 17:18 ` [PATCH v3 22/27] revisions API: clear "boundary_commits" in release_revisions() Ævar Arnfjörð Bjarmason
2022-03-25 17:18 ` [PATCH v3 23/27] revisions API: release "reflog_info" in release revisions() Ævar Arnfjörð Bjarmason
2022-03-25 17:18 ` [PATCH v3 24/27] revisions API: call diff_free(&revs->pruning) in revisions_release() Ævar Arnfjörð Bjarmason
2022-03-25 17:18 ` [PATCH v3 25/27] revisions API: have release_revisions() release "date_mode" Ævar Arnfjörð Bjarmason
2022-03-25 17:18 ` [PATCH v3 26/27] revisions API: have release_revisions() release "topo_walk_info" Ævar Arnfjörð Bjarmason
2022-03-25 17:18 ` [PATCH v3 27/27] revisions API: add a TODO for diff_free(&revs->diffopt) Ævar Arnfjörð Bjarmason
2022-03-31 1:11 ` [PATCH v4 00/27] revision.[ch]: add and use release_revisions() Ævar Arnfjörð Bjarmason
2022-03-31 1:11 ` [PATCH v4 01/27] t/helper/test-fast-rebase.c: don't leak "struct strbuf" Ævar Arnfjörð Bjarmason
2022-03-31 1:11 ` [PATCH v4 02/27] blame: use "goto cleanup" for cleanup_scoreboard() Ævar Arnfjörð Bjarmason
2022-03-31 1:11 ` [PATCH v4 03/27] string_list API users: use string_list_init_{no,}dup Ævar Arnfjörð Bjarmason
2022-03-31 1:11 ` [PATCH v4 04/27] format-patch: don't leak "extra_headers" or "ref_message_ids" Ævar Arnfjörð Bjarmason
2022-04-01 15:13 ` Phillip Wood
2022-04-01 17:16 ` Ævar Arnfjörð Bjarmason
2022-04-01 19:32 ` Junio C Hamano
2022-03-31 1:11 ` [PATCH v4 05/27] revision.[ch]: split freeing of revs->commit into a function Ævar Arnfjörð Bjarmason
2022-04-01 15:15 ` Phillip Wood
2022-04-01 17:03 ` Junio C Hamano
2022-03-31 1:11 ` [PATCH v4 06/27] revision.[ch]: provide and start using a release_revisions() Ævar Arnfjörð Bjarmason
2022-04-01 15:17 ` Phillip Wood
2022-04-01 17:25 ` Ævar Arnfjörð Bjarmason
2022-03-31 1:11 ` [PATCH v4 07/27] revisions API users: add straightforward release_revisions() Ævar Arnfjörð Bjarmason
2022-03-31 1:11 ` [PATCH v4 08/27] revision.[ch]: document and move code declared around "init" Ævar Arnfjörð Bjarmason
2022-04-01 15:20 ` Phillip Wood
2022-03-31 1:11 ` [PATCH v4 09/27] revisions API users: use release_revisions() needing REV_INFO_INIT Ævar Arnfjörð Bjarmason
2022-03-31 21:14 ` Junio C Hamano
2022-04-01 10:31 ` Ævar Arnfjörð Bjarmason
2022-03-31 1:11 ` [PATCH v4 10/27] stash: always have the owner of "stash_info" free it Ævar Arnfjörð Bjarmason
2022-04-01 15:29 ` Phillip Wood
2022-04-01 17:29 ` Ævar Arnfjörð Bjarmason
2022-04-01 15:33 ` Phillip Wood
2022-03-31 1:11 ` [PATCH v4 11/27] revisions API users: add "goto cleanup" for release_revisions() Ævar Arnfjörð Bjarmason
2022-03-31 1:11 ` [PATCH v4 12/27] revisions API users: use release_revisions() in http-push.c Ævar Arnfjörð Bjarmason
2022-03-31 1:11 ` [PATCH v4 13/27] revisions API users: use release_revisions() in builtin/log.c Ævar Arnfjörð Bjarmason
2022-04-02 9:22 ` Phillip Wood
2022-04-03 14:07 ` Ævar Arnfjörð Bjarmason
2022-04-04 9:27 ` Phillip Wood
2022-04-03 21:49 ` Junio C Hamano
2022-03-31 1:11 ` [PATCH v4 14/27] revisions API users: use release_revisions() with UNLEAK() Ævar Arnfjörð Bjarmason
2022-03-31 1:11 ` [PATCH v4 15/27] revisions API users: use release_revisions() for "prune_data" users Ævar Arnfjörð Bjarmason
2022-03-31 1:11 ` [PATCH v4 16/27] revisions API: have release_revisions() release "commits" Ævar Arnfjörð Bjarmason
2022-03-31 1:11 ` [PATCH v4 17/27] revisions API: have release_revisions() release "mailmap" Ævar Arnfjörð Bjarmason
2022-03-31 1:11 ` [PATCH v4 18/27] revisions API: have release_revisions() release "cmdline" Ævar Arnfjörð Bjarmason
2022-03-31 1:11 ` [PATCH v4 19/27] revisions API: have release_revisions() release "filter" Ævar Arnfjörð Bjarmason
2022-03-31 1:11 ` [PATCH v4 20/27] revisions API: have release_revisions() release "grep_filter" Ævar Arnfjörð Bjarmason
2022-03-31 1:11 ` [PATCH v4 21/27] revisions API: have release_revisions() release "prune_data" Ævar Arnfjörð Bjarmason
2022-03-31 1:11 ` [PATCH v4 22/27] revisions API: clear "boundary_commits" in release_revisions() Ævar Arnfjörð Bjarmason
2022-03-31 1:11 ` [PATCH v4 23/27] revisions API: release "reflog_info" in release revisions() Ævar Arnfjörð Bjarmason
2022-03-31 1:11 ` [PATCH v4 24/27] revisions API: call diff_free(&revs->pruning) in revisions_release() Ævar Arnfjörð Bjarmason
2022-03-31 1:11 ` [PATCH v4 25/27] revisions API: have release_revisions() release "date_mode" Ævar Arnfjörð Bjarmason
2022-03-31 1:11 ` [PATCH v4 26/27] revisions API: have release_revisions() release "topo_walk_info" Ævar Arnfjörð Bjarmason
2022-03-31 1:11 ` [PATCH v4 27/27] revisions API: add a TODO for diff_free(&revs->diffopt) Ævar Arnfjörð Bjarmason
2022-04-02 10:49 ` [PATCH v5 00/27] revision.[ch]: add and use release_revisions() Ævar Arnfjörð Bjarmason
2022-04-02 10:49 ` [PATCH v5 01/27] t/helper/test-fast-rebase.c: don't leak "struct strbuf" Ævar Arnfjörð Bjarmason
2022-04-02 10:49 ` [PATCH v5 02/27] blame: use "goto cleanup" for cleanup_scoreboard() Ævar Arnfjörð Bjarmason
2022-04-02 10:49 ` [PATCH v5 03/27] string_list API users: use string_list_init_{no,}dup Ævar Arnfjörð Bjarmason
2022-04-02 10:49 ` [PATCH v5 04/27] format-patch: don't leak "extra_headers" or "ref_message_ids" Ævar Arnfjörð Bjarmason
2022-04-02 10:49 ` [PATCH v5 05/27] cocci: add and apply free_commit_list() rules Ævar Arnfjörð Bjarmason
2022-04-02 10:49 ` [PATCH v5 06/27] revision.[ch]: provide and start using a release_revisions() Ævar Arnfjörð Bjarmason
2022-04-02 10:49 ` [PATCH v5 07/27] revisions API users: add straightforward release_revisions() Ævar Arnfjörð Bjarmason
2022-04-02 10:49 ` [PATCH v5 08/27] revision.[ch]: document and move code declared around "init" Ævar Arnfjörð Bjarmason
2022-04-02 10:49 ` Ævar Arnfjörð Bjarmason [this message]
2022-04-02 10:49 ` [PATCH v5 10/27] stash: always have the owner of "stash_info" free it Ævar Arnfjörð Bjarmason
2022-04-02 10:49 ` [PATCH v5 11/27] revisions API users: add "goto cleanup" for release_revisions() Ævar Arnfjörð Bjarmason
2022-04-02 10:49 ` [PATCH v5 12/27] revisions API users: use release_revisions() in http-push.c Ævar Arnfjörð Bjarmason
2022-04-02 10:49 ` [PATCH v5 13/27] revisions API users: use release_revisions() in builtin/log.c Ævar Arnfjörð Bjarmason
2022-04-02 10:49 ` [PATCH v5 14/27] revisions API users: use release_revisions() with UNLEAK() Ævar Arnfjörð Bjarmason
2022-04-03 9:27 ` Phillip Wood
2022-04-03 13:55 ` Ævar Arnfjörð Bjarmason
2022-04-02 10:49 ` [PATCH v5 15/27] revisions API users: use release_revisions() for "prune_data" users Ævar Arnfjörð Bjarmason
2022-04-02 10:49 ` [PATCH v5 16/27] revisions API: have release_revisions() release "commits" Ævar Arnfjörð Bjarmason
2022-04-02 10:49 ` [PATCH v5 17/27] revisions API: have release_revisions() release "mailmap" Ævar Arnfjörð Bjarmason
2022-04-03 9:33 ` Phillip Wood
2022-04-03 13:57 ` Ævar Arnfjörð Bjarmason
2022-04-04 9:19 ` Phillip Wood
2022-04-02 10:49 ` [PATCH v5 18/27] revisions API: have release_revisions() release "cmdline" Ævar Arnfjörð Bjarmason
2022-04-03 12:54 ` Phillip Wood
2022-04-03 14:01 ` Ævar Arnfjörð Bjarmason
2022-04-02 10:49 ` [PATCH v5 19/27] revisions API: have release_revisions() release "filter" Ævar Arnfjörð Bjarmason
2022-04-02 10:49 ` [PATCH v5 20/27] revisions API: have release_revisions() release "grep_filter" Ævar Arnfjörð Bjarmason
2022-04-02 10:49 ` [PATCH v5 21/27] revisions API: have release_revisions() release "prune_data" Ævar Arnfjörð Bjarmason
2022-04-02 10:49 ` [PATCH v5 22/27] revisions API: clear "boundary_commits" in release_revisions() Ævar Arnfjörð Bjarmason
2022-04-02 10:49 ` [PATCH v5 23/27] revisions API: release "reflog_info" in release revisions() Ævar Arnfjörð Bjarmason
2022-04-03 15:19 ` Phillip Wood
2022-04-02 10:49 ` [PATCH v5 24/27] revisions API: call diff_free(&revs->pruning) in revisions_release() Ævar Arnfjörð Bjarmason
2022-04-03 13:00 ` Phillip Wood
2022-04-03 14:04 ` Ævar Arnfjörð Bjarmason
2022-04-02 10:49 ` [PATCH v5 25/27] revisions API: have release_revisions() release "date_mode" Ævar Arnfjörð Bjarmason
2022-04-02 10:49 ` [PATCH v5 26/27] revisions API: have release_revisions() release "topo_walk_info" Ævar Arnfjörð Bjarmason
2022-04-02 10:49 ` [PATCH v5 27/27] revisions API: add a TODO for diff_free(&revs->diffopt) Ævar Arnfjörð Bjarmason
2022-04-03 13:07 ` [PATCH v5 00/27] revision.[ch]: add and use release_revisions() Phillip Wood
2022-04-03 14:18 ` Ævar Arnfjörð Bjarmason
2022-04-13 20:01 ` [PATCH v6 " Ævar Arnfjörð Bjarmason
2022-04-13 20:01 ` [PATCH v6 01/27] t/helper/test-fast-rebase.c: don't leak "struct strbuf" Ævar Arnfjörð Bjarmason
2022-04-13 20:01 ` [PATCH v6 02/27] blame: use "goto cleanup" for cleanup_scoreboard() Ævar Arnfjörð Bjarmason
2022-04-13 20:01 ` [PATCH v6 03/27] string_list API users: use string_list_init_{no,}dup Ævar Arnfjörð Bjarmason
2022-04-13 20:01 ` [PATCH v6 04/27] format-patch: don't leak "extra_headers" or "ref_message_ids" Ævar Arnfjörð Bjarmason
2022-04-13 20:01 ` [PATCH v6 05/27] cocci: add and apply free_commit_list() rules Ævar Arnfjörð Bjarmason
2022-04-13 20:01 ` [PATCH v6 06/27] revision.[ch]: provide and start using a release_revisions() Ævar Arnfjörð Bjarmason
2022-04-13 20:01 ` [PATCH v6 07/27] revisions API users: add straightforward release_revisions() Ævar Arnfjörð Bjarmason
2022-04-13 20:01 ` [PATCH v6 08/27] revision.[ch]: document and move code declared around "init" Ævar Arnfjörð Bjarmason
2022-04-13 20:01 ` [PATCH v6 09/27] revisions API users: use release_revisions() needing REV_INFO_INIT Ævar Arnfjörð Bjarmason
2022-04-13 20:01 ` [PATCH v6 10/27] stash: always have the owner of "stash_info" free it Ævar Arnfjörð Bjarmason
2022-04-13 20:01 ` [PATCH v6 11/27] revisions API users: add "goto cleanup" for release_revisions() Ævar Arnfjörð Bjarmason
2022-07-11 18:06 ` Jeff King
2022-07-11 20:12 ` Ævar Arnfjörð Bjarmason
2022-07-12 6:54 ` Jeff King
2022-07-12 7:03 ` [PATCH] diff-files: move misplaced cleanup label Jeff King
2022-04-13 20:01 ` [PATCH v6 12/27] revisions API users: use release_revisions() in http-push.c Ævar Arnfjörð Bjarmason
2022-04-13 20:01 ` [PATCH v6 13/27] revisions API users: use release_revisions() in builtin/log.c Ævar Arnfjörð Bjarmason
2022-04-13 20:01 ` [PATCH v6 14/27] revisions API users: use release_revisions() with UNLEAK() Ævar Arnfjörð Bjarmason
2022-04-15 13:58 ` Phillip Wood
2022-04-13 20:01 ` [PATCH v6 15/27] revisions API users: use release_revisions() for "prune_data" users Ævar Arnfjörð Bjarmason
2022-04-13 20:01 ` [PATCH v6 16/27] revisions API: have release_revisions() release "commits" Ævar Arnfjörð Bjarmason
2022-04-13 20:01 ` [PATCH v6 17/27] revisions API: have release_revisions() release "mailmap" Ævar Arnfjörð Bjarmason
2022-04-13 20:01 ` [PATCH v6 18/27] revisions API: have release_revisions() release "cmdline" Ævar Arnfjörð Bjarmason
2022-04-13 20:01 ` [PATCH v6 19/27] revisions API: have release_revisions() release "filter" Ævar Arnfjörð Bjarmason
2022-04-13 20:01 ` [PATCH v6 20/27] revisions API: have release_revisions() release "grep_filter" Ævar Arnfjörð Bjarmason
2022-04-13 20:01 ` [PATCH v6 21/27] revisions API: have release_revisions() release "prune_data" Ævar Arnfjörð Bjarmason
2022-04-13 20:01 ` [PATCH v6 22/27] revisions API: clear "boundary_commits" in release_revisions() Ævar Arnfjörð Bjarmason
2022-04-13 20:01 ` [PATCH v6 23/27] revisions API: release "reflog_info" in release revisions() Ævar Arnfjörð Bjarmason
2022-04-13 20:01 ` [PATCH v6 24/27] revisions API: call diff_free(&revs->pruning) in revisions_release() Ævar Arnfjörð Bjarmason
2022-04-14 5:56 ` [PATCH v6 25/27] revisions API: have release_revisions() release "date_mode" Ævar Arnfjörð Bjarmason
2022-04-14 5:56 ` [PATCH v6 26/27] revisions API: have release_revisions() release "topo_walk_info" Ævar Arnfjörð Bjarmason
2022-04-14 5:56 ` [PATCH v6 27/27] revisions API: add a TODO for diff_free(&revs->diffopt) Ævar Arnfjörð Bjarmason
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=patch-v5-09.27-240307bc3c6-20220402T102002Z-avarab@gmail.com \
--to=avarab@gmail.com \
--cc=derrickstolee@github.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=martin.agren@gmail.com \
--cc=newren@gmail.com \
--cc=phillip.wood123@gmail.com \
--cc=sandals@crustytoothpaste.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).