Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '_support/git-patches/v2.33.1.gl3/0005-commit-graph-split-out-function-to-search-commit-pos.patch')
-rw-r--r--_support/git-patches/v2.33.1.gl3/0005-commit-graph-split-out-function-to-search-commit-pos.patch145
1 files changed, 0 insertions, 145 deletions
diff --git a/_support/git-patches/v2.33.1.gl3/0005-commit-graph-split-out-function-to-search-commit-pos.patch b/_support/git-patches/v2.33.1.gl3/0005-commit-graph-split-out-function-to-search-commit-pos.patch
deleted file mode 100644
index 0964f5b98..000000000
--- a/_support/git-patches/v2.33.1.gl3/0005-commit-graph-split-out-function-to-search-commit-pos.patch
+++ /dev/null
@@ -1,145 +0,0 @@
-From 809ea28f809e52d3204b597637b2f5e072c140f8 Mon Sep 17 00:00:00 2001
-Message-Id: <809ea28f809e52d3204b597637b2f5e072c140f8.1630319075.git.ps@pks.im>
-In-Reply-To: <29ef1f27fed21b5b7d3c996a01f1364e7e841917.1630319075.git.ps@pks.im>
-References: <29ef1f27fed21b5b7d3c996a01f1364e7e841917.1630319075.git.ps@pks.im>
-From: Patrick Steinhardt <ps@pks.im>
-Date: Mon, 9 Aug 2021 10:11:59 +0200
-Subject: [PATCH 5/6] commit-graph: split out function to search commit
- position
-
-The function `find_commit_in_graph()` assumes that the caller has passed
-an object which was already determined to be a commit given that it will
-access the commit's graph position, which is stored in a commit slab. In
-a subsequent patch, we want to search for an object ID though without
-knowing whether it is a commit or not, which is not currently possible.
-
-Split out the logic to search the commit graph for a given object ID to
-prepare for this change. This commit also renames the function to
-`find_commit_pos_in_graph()`, which more accurately reflects what this
-function does. Furthermore, in order to allow for the searched object ID
-to be const, we need to adjust `bsearch_graph()`'s signature to accept a
-constant object ID as input, too.
-
-Signed-off-by: Patrick Steinhardt <ps@pks.im>
-Signed-off-by: Junio C Hamano <gitster@pobox.com>
----
- commit-graph.c | 55 +++++++++++++++++++++++++++-----------------------
- 1 file changed, 30 insertions(+), 25 deletions(-)
-
-diff --git a/commit-graph.c b/commit-graph.c
-index 3860a0d847..8c4c7262c8 100644
---- a/commit-graph.c
-+++ b/commit-graph.c
-@@ -723,7 +723,7 @@ void close_commit_graph(struct raw_object_store *o)
- o->commit_graph = NULL;
- }
-
--static int bsearch_graph(struct commit_graph *g, struct object_id *oid, uint32_t *pos)
-+static int bsearch_graph(struct commit_graph *g, const struct object_id *oid, uint32_t *pos)
- {
- return bsearch_hash(oid->hash, g->chunk_oid_fanout,
- g->chunk_oid_lookup, g->hash_len, pos);
-@@ -864,25 +864,30 @@ static int fill_commit_in_graph(struct repository *r,
- return 1;
- }
-
--static int find_commit_in_graph(struct commit *item, struct commit_graph *g, uint32_t *pos)
-+static int search_commit_pos_in_graph(const struct object_id *id, struct commit_graph *g, uint32_t *pos)
-+{
-+ struct commit_graph *cur_g = g;
-+ uint32_t lex_index;
-+
-+ while (cur_g && !bsearch_graph(cur_g, id, &lex_index))
-+ cur_g = cur_g->base_graph;
-+
-+ if (cur_g) {
-+ *pos = lex_index + cur_g->num_commits_in_base;
-+ return 1;
-+ }
-+
-+ return 0;
-+}
-+
-+static int find_commit_pos_in_graph(struct commit *item, struct commit_graph *g, uint32_t *pos)
- {
- uint32_t graph_pos = commit_graph_position(item);
- if (graph_pos != COMMIT_NOT_FROM_GRAPH) {
- *pos = graph_pos;
- return 1;
- } else {
-- struct commit_graph *cur_g = g;
-- uint32_t lex_index;
--
-- while (cur_g && !bsearch_graph(cur_g, &(item->object.oid), &lex_index))
-- cur_g = cur_g->base_graph;
--
-- if (cur_g) {
-- *pos = lex_index + cur_g->num_commits_in_base;
-- return 1;
-- }
--
-- return 0;
-+ return search_commit_pos_in_graph(&item->object.oid, g, pos);
- }
- }
-
-@@ -895,7 +900,7 @@ static int parse_commit_in_graph_one(struct repository *r,
- if (item->object.parsed)
- return 1;
-
-- if (find_commit_in_graph(item, g, &pos))
-+ if (find_commit_pos_in_graph(item, g, &pos))
- return fill_commit_in_graph(r, item, g, pos);
-
- return 0;
-@@ -921,7 +926,7 @@ void load_commit_graph_info(struct repository *r, struct commit *item)
- uint32_t pos;
- if (!prepare_commit_graph(r))
- return;
-- if (find_commit_in_graph(item, r->objects->commit_graph, &pos))
-+ if (find_commit_pos_in_graph(item, r->objects->commit_graph, &pos))
- fill_commit_graph_info(item, r->objects->commit_graph, pos);
- }
-
-@@ -1091,9 +1096,9 @@ static int write_graph_chunk_data(struct hashfile *f,
- edge_value += ctx->new_num_commits_in_base;
- else if (ctx->new_base_graph) {
- uint32_t pos;
-- if (find_commit_in_graph(parent->item,
-- ctx->new_base_graph,
-- &pos))
-+ if (find_commit_pos_in_graph(parent->item,
-+ ctx->new_base_graph,
-+ &pos))
- edge_value = pos;
- }
-
-@@ -1122,9 +1127,9 @@ static int write_graph_chunk_data(struct hashfile *f,
- edge_value += ctx->new_num_commits_in_base;
- else if (ctx->new_base_graph) {
- uint32_t pos;
-- if (find_commit_in_graph(parent->item,
-- ctx->new_base_graph,
-- &pos))
-+ if (find_commit_pos_in_graph(parent->item,
-+ ctx->new_base_graph,
-+ &pos))
- edge_value = pos;
- }
-
-@@ -1235,9 +1240,9 @@ static int write_graph_chunk_extra_edges(struct hashfile *f,
- edge_value += ctx->new_num_commits_in_base;
- else if (ctx->new_base_graph) {
- uint32_t pos;
-- if (find_commit_in_graph(parent->item,
-- ctx->new_base_graph,
-- &pos))
-+ if (find_commit_pos_in_graph(parent->item,
-+ ctx->new_base_graph,
-+ &pos))
- edge_value = pos;
- }
-
---
-2.33.0
-