From: jnareb@gmail.com (Jakub Narębski)
To: "Abhishek Kumar via GitGitGadget" <gitgitgadget@gmail.com>
Cc: git@vger.kernel.org, Derrick Stolee <stolee@gmail.com>,
Taylor Blau <me@ttaylorr.com>,
Abhishek Kumar <abhishekkumar8222@gmail.com>
Subject: Re: [PATCH v4 05/10] commit-graph: add a slab to store topological levels
Date: Sun, 25 Oct 2020 23:17:17 +0100 [thread overview]
Message-ID: <85tuui0x3m.fsf@gmail.com> (raw)
In-Reply-To: <e067f653ad5d474eee5f40c13bb02fde26ebdb9b.1602079786.git.gitgitgadget@gmail.com> (Abhishek Kumar via GitGitGadget's message of "Wed, 07 Oct 2020 14:09:40 +0000")
"Abhishek Kumar via GitGitGadget" <gitgitgadget@gmail.com> writes:
> From: Abhishek Kumar <abhishekkumar8222@gmail.com>
>
> In a later commit we will introduce corrected commit date as the
> generation number v2. This value will be stored in the new seperate
> Generation Data chunk. However, to ensure backwards compatibility with
> "Old" Git we need to continue to write generation number v1, which is
> topological level, to the commit data chunk. This means that we need to
> compute both versions of generation numbers when writing the
> commit-graph file. Therefore, let's introduce a commit-slab to store
> topological levels; corrected commit date will be stored in the member
> `generation` of struct commit_graph_data.
>
> When Git creates a split commit-graph, it takes advantage of the
> generation values that have been computed already and present in
> existing commit-graph files.
>
> So, let's add a pointer to struct commit_graph as well as struct
> write_commit_graph_context to the topological level commit-slab
> and populate it with topological levels while writing a commit-graph
> file.
I think you meant here "add a pointer in `struct commit_graph` as well
as in `struct write_commit_graph_context`...".
Perhaps we should add the information that it is done that way to be
able to allocate topo_level_slab only when needed, in the
write_commit_graph(), and adding new member to those struct is required
to pass it through the call chain (modifying `struct commit_graph` is
needed for fill_commit_graph_info()). But that might be too much detail
to put in the commit message.
>
> Signed-off-by: Abhishek Kumar <abhishekkumar8222@gmail.com>
> ---
> commit-graph.c | 47 ++++++++++++++++++++++++++++++++---------------
> commit-graph.h | 1 +
> 2 files changed, 33 insertions(+), 15 deletions(-)
>
Let me reorder those files for easier review.
> diff --git a/commit-graph.h b/commit-graph.h
> index 8be247fa35..2e9aa7824e 100644
> --- a/commit-graph.h
> +++ b/commit-graph.h
> @@ -73,6 +73,7 @@ struct commit_graph {
> const unsigned char *chunk_bloom_indexes;
> const unsigned char *chunk_bloom_data;
>
> + struct topo_level_slab *topo_levels;
> struct bloom_filter_settings *bloom_filter_settings;
> };
All right, here we add new member to `struct commit_graph` type.
> diff --git a/commit-graph.c b/commit-graph.c
> index bfc532de6f..cedd311024 100644
> --- a/commit-graph.c
> +++ b/commit-graph.c
> @@ -962,6 +967,7 @@ struct write_commit_graph_context {
> changed_paths:1,
> order_by_pack:1;
>
> + struct topo_level_slab *topo_levels;
> const struct commit_graph_opts *opts;
> size_t total_bloom_filter_data_size;
> const struct bloom_filter_settings *bloom_settings;
All right, here we add new member to `struct write_commit_graph_context`
type, which is local to commit-graph.c.
> @@ -64,6 +64,8 @@ void git_test_write_commit_graph_or_die(void)
> /* Remember to update object flag allocation in object.h */
> #define REACHABLE (1u<<15)
>
> +define_commit_slab(topo_level_slab, uint32_t);
> +
All right, here we define new slab for storing topological levels; this
just defines new type. Note that we do not define any setters and
getters to handle non-zero initialization, like we have for
commit_graph_data_slab.
> /* Keep track of the order in which commits are added to our list. */
> define_commit_slab(commit_pos, int);
> static struct commit_pos commit_pos = COMMIT_SLAB_INIT(1, commit_pos);
> @@ -768,6 +770,9 @@ static void fill_commit_graph_info(struct commit *item, struct commit_graph *g,
> item->date = (timestamp_t)((date_high << 32) | date_low);
>
> graph_data->generation = get_be32(commit_data + g->hash_len + 8) >> 2;
> +
> + if (g->topo_levels)
> + *topo_level_slab_at(g->topo_levels, item) = get_be32(commit_data + g->hash_len + 8) >> 2;
I guess using get_be32() is repeated in this newly added part of code
because previous part would be changed to read in generation number v2,
if available, and we won't be then able to use
*topo_level_slab_at(g->topo_levels, item) = graph_data->generation;
All right, that's smart.
I guess that in fill_commit_graph_info() we don't know if we are reading
commit-graph, when topo levels slab is not present, or whether we are
extending and writing the commit-graph file, when we need to fill it
with current commit-graph data.
The fact that fill_commit_graph_info() takes 'struct commit_graph' also
explains why we need to add pointer to a topo_levels slab to both
structs.
> }
>
> static inline void set_commit_tree(struct commit *c, struct tree *t)
[...]
> @@ -2142,6 +2146,7 @@ int write_commit_graph(struct object_directory *odb,
> int res = 0;
> int replace = 0;
> struct bloom_filter_settings bloom_settings = DEFAULT_BLOOM_FILTER_SETTINGS;
> + struct topo_level_slab topo_levels;
>
> if (!commit_graph_compatible(the_repository))
> return 0;
> @@ -2163,6 +2168,18 @@ int write_commit_graph(struct object_directory *odb,
> bloom_settings.max_changed_paths);
> ctx->bloom_settings = &bloom_settings;
>
> + init_topo_level_slab(&topo_levels);
> + ctx->topo_levels = &topo_levels;
> +
> + if (ctx->r->objects->commit_graph) {
> + struct commit_graph *g = ctx->r->objects->commit_graph;
> +
> + while (g) {
> + g->topo_levels = &topo_levels;
> + g = g->base_graph;
> + }
> + }
> +
> if (flags & COMMIT_GRAPH_WRITE_BLOOM_FILTERS)
> ctx->changed_paths = 1;
> if (!(flags & COMMIT_GRAPH_NO_WRITE_BLOOM_FILTERS)) {
All right, we need topo_level_slab only for writing the commit-graph, so
we allocate it with init_*_slab() in write_commit_graph(), and set
pointers to it in `struct write_commit_graph_context *ctx` and in
`struct commit_graph` for each layer in the commit graph. This is
needed to pass it down the call-chain.
Looks good to me.
> @@ -1108,7 +1114,7 @@ static int write_graph_chunk_data(struct hashfile *f,
> else
> packedDate[0] = 0;
>
> - packedDate[0] |= htonl(commit_graph_data_at(*list)->generation << 2);
> + packedDate[0] |= htonl(*topo_level_slab_at(ctx->topo_levels, *list) << 2);
>
All right, write_graph_chunk_data() is called from write_commit_graph(),
so we know that cxt->topo_levels is not NULL.
> packedDate[1] = htonl((*list)->date);
> hashwrite(f, packedDate, 8);
> @@ -1350,11 +1356,11 @@ static void compute_generation_numbers(struct write_commit_graph_context *ctx)
> _("Computing commit graph generation numbers"),
> ctx->commits.nr);
> for (i = 0; i < ctx->commits.nr; i++) {
> - timestamp_t generation = commit_graph_data_at(ctx->commits.list[i])->generation;
> + timestamp_t level = *topo_level_slab_at(ctx->topo_levels, ctx->commits.list[i]);
>
All right, we know that compute_generation_numbers() is called by the
write_commit_graph(), so we know that cxt->topo_levels is not NULL.
Also, we rename 'generation' to 'level' in preparation for the time when
we would be computing *both* topological level (for backward
compatibility) and corrected committer date (to be used as generation
number v2). All right.
> display_progress(ctx->progress, i + 1);
> - if (generation != GENERATION_NUMBER_INFINITY &&
> - generation != GENERATION_NUMBER_ZERO)
> + if (level != GENERATION_NUMBER_INFINITY &&
> + level != GENERATION_NUMBER_ZERO)
> continue;
Same here, the results of renaming of 'generation' local variable to
'level'.
>
> commit_list_insert(ctx->commits.list[i], &list);
> @@ -1362,29 +1368,27 @@ static void compute_generation_numbers(struct write_commit_graph_context *ctx)
> struct commit *current = list->item;
> struct commit_list *parent;
> int all_parents_computed = 1;
> - uint32_t max_generation = 0;
> + uint32_t max_level = 0;
Similarly, we rename 'max_generation' to 'max_level'.
>
> for (parent = current->parents; parent; parent = parent->next) {
> - generation = commit_graph_data_at(parent->item)->generation;
> + level = *topo_level_slab_at(ctx->topo_levels, parent->item);
>
> - if (generation == GENERATION_NUMBER_INFINITY ||
> - generation == GENERATION_NUMBER_ZERO) {
> + if (level == GENERATION_NUMBER_INFINITY ||
> + level == GENERATION_NUMBER_ZERO) {
> all_parents_computed = 0;
> commit_list_insert(parent->item, &list);
> break;
> - } else if (generation > max_generation) {
> - max_generation = generation;
> + } else if (level > max_level) {
> + max_level = level;
> }
> }
Continuation of those renames.
>
> if (all_parents_computed) {
> - struct commit_graph_data *data = commit_graph_data_at(current);
> -
> - data->generation = max_generation + 1;
> pop_commit(&list);
>
> - if (data->generation > GENERATION_NUMBER_V1_MAX)
> - data->generation = GENERATION_NUMBER_V1_MAX;
> + if (max_level > GENERATION_NUMBER_V1_MAX - 1)
> + max_level = GENERATION_NUMBER_V1_MAX - 1;
> + *topo_level_slab_at(ctx->topo_levels, current) = max_level + 1;
This is a bit safer way to handle possible overflow: instead of
final = max_found + 1; /* set to maximum plus 1 */
if (final > MAX_POSSIBLE_VALUE) /* handle overflow */
final = MAX_POSSIBLE_VALUE;
where we can have problems if MAX_POSSIBLE_VALUE overflows, we use the
following pattern:
if (max_found > MAX_POSSIBLE_VALUE - 1) /* handle overflow */
max_found > MAX_POSSIBLE_VALUE - 1;
final = max_found + 1; /* set to maximum plus 1 */
It is just a bit obscured by renaming variable and switch to using
commit slab.
It is not that important for topological level, where
GENERATION_NUMBER_V1_MAX is smaller than maximum possible value, but it
would be important for generation number v2.
> }
> }
> }
Best,
--
Jakub Narębski
next prev parent reply other threads:[~2020-10-25 22:17 UTC|newest]
Thread overview: 211+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-28 9:13 [PATCH 0/6] [GSoC] Implement Corrected Commit Date Abhishek Kumar via GitGitGadget
2020-07-28 9:13 ` [PATCH 1/6] commit-graph: fix regression when computing bloom filter Abhishek Kumar via GitGitGadget
2020-07-28 15:28 ` Taylor Blau
2020-07-30 5:24 ` Abhishek Kumar
2020-08-04 0:46 ` Jakub Narębski
2020-08-04 0:56 ` Taylor Blau
2020-08-04 10:10 ` Jakub Narębski
2020-08-04 7:55 ` Jakub Narębski
2020-07-28 9:13 ` [PATCH 2/6] revision: parse parent in indegree_walk_step() Abhishek Kumar via GitGitGadget
2020-07-28 13:00 ` Derrick Stolee
2020-07-28 15:30 ` Taylor Blau
2020-08-05 23:16 ` Jakub Narębski
2020-07-28 9:13 ` [PATCH 3/6] commit-graph: consolidate fill_commit_graph_info Abhishek Kumar via GitGitGadget
2020-07-28 13:14 ` Derrick Stolee
2020-07-28 15:19 ` René Scharfe
2020-07-28 15:58 ` Derrick Stolee
2020-07-28 16:01 ` Taylor Blau
2020-07-30 6:07 ` Abhishek Kumar
2020-07-28 9:13 ` [PATCH 4/6] commit-graph: consolidate compare_commits_by_gen Abhishek Kumar via GitGitGadget
2020-07-28 16:03 ` Taylor Blau
2020-07-28 9:13 ` [PATCH 5/6] commit-graph: implement generation data chunk Abhishek Kumar via GitGitGadget
2020-07-28 16:12 ` Taylor Blau
2020-07-30 6:52 ` Abhishek Kumar
2020-07-28 9:13 ` [PATCH 6/6] commit-graph: implement corrected commit date offset Abhishek Kumar via GitGitGadget
2020-07-28 15:55 ` Derrick Stolee
2020-07-28 16:23 ` Taylor Blau
2020-07-30 7:27 ` Abhishek Kumar
2020-07-28 14:54 ` [PATCH 0/6] [GSoC] Implement Corrected Commit Date Taylor Blau
2020-07-30 7:47 ` Abhishek Kumar
2020-07-28 16:35 ` Derrick Stolee
2020-08-09 2:53 ` [PATCH v2 00/10] " Abhishek Kumar via GitGitGadget
2020-08-09 2:53 ` [PATCH v2 01/10] commit-graph: fix regression when computing bloom filter Abhishek Kumar via GitGitGadget
2020-08-09 2:53 ` [PATCH v2 02/10] revision: parse parent in indegree_walk_step() Abhishek Kumar via GitGitGadget
2020-08-09 2:53 ` [PATCH v2 03/10] commit-graph: consolidate fill_commit_graph_info Abhishek Kumar via GitGitGadget
2020-08-09 2:53 ` [PATCH v2 04/10] commit-graph: consolidate compare_commits_by_gen Abhishek Kumar via GitGitGadget
2020-08-09 2:53 ` [PATCH v2 05/10] commit-graph: implement generation data chunk Abhishek Kumar via GitGitGadget
2020-08-10 16:28 ` Derrick Stolee
2020-08-11 11:03 ` Abhishek Kumar
2020-08-11 12:27 ` Derrick Stolee
2020-08-11 18:58 ` Taylor Blau
2020-08-09 2:53 ` [PATCH v2 06/10] commit-graph: return 64-bit generation number Abhishek Kumar via GitGitGadget
2020-08-09 2:53 ` [PATCH v2 07/10] commit-graph: implement corrected commit date Abhishek Kumar via GitGitGadget
2020-08-10 14:23 ` Derrick Stolee
2020-08-14 4:59 ` Abhishek Kumar
2020-08-14 12:24 ` Derrick Stolee
2020-08-09 2:53 ` [PATCH v2 08/10] commit-graph: handle mixed generation commit chains Abhishek Kumar via GitGitGadget
2020-08-10 16:42 ` Derrick Stolee
2020-08-11 11:36 ` Abhishek Kumar
2020-08-11 12:43 ` Derrick Stolee
2020-08-09 2:53 ` [PATCH v2 09/10] commit-reach: use corrected commit dates in paint_down_to_common() Abhishek Kumar via GitGitGadget
2020-08-09 2:53 ` [PATCH v2 10/10] doc: add corrected commit date info Abhishek Kumar via GitGitGadget
2020-08-10 16:47 ` [PATCH v2 00/10] [GSoC] Implement Corrected Commit Date Derrick Stolee
2020-08-15 16:39 ` [PATCH v3 00/11] " Abhishek Kumar via GitGitGadget
2020-08-15 16:39 ` [PATCH v3 01/11] commit-graph: fix regression when computing bloom filter Abhishek Kumar via GitGitGadget
2020-08-17 22:30 ` Jakub Narębski
2020-08-15 16:39 ` [PATCH v3 02/11] revision: parse parent in indegree_walk_step() Abhishek Kumar via GitGitGadget
2020-08-18 14:18 ` Jakub Narębski
2020-08-15 16:39 ` [PATCH v3 03/11] commit-graph: consolidate fill_commit_graph_info Abhishek Kumar via GitGitGadget
2020-08-19 17:54 ` Jakub Narębski
2020-08-21 4:11 ` Abhishek Kumar
2020-08-25 11:11 ` Jakub Narębski
2020-09-01 11:35 ` Abhishek Kumar
2020-08-15 16:39 ` [PATCH v3 04/11] commit-graph: consolidate compare_commits_by_gen Abhishek Kumar via GitGitGadget
2020-08-17 13:22 ` Derrick Stolee
2020-08-21 11:05 ` Jakub Narębski
2020-08-15 16:39 ` [PATCH v3 05/11] commit-graph: return 64-bit generation number Abhishek Kumar via GitGitGadget
2020-08-21 13:14 ` Jakub Narębski
2020-08-25 5:04 ` Abhishek Kumar
2020-08-25 12:18 ` Jakub Narębski
2020-09-01 12:06 ` Abhishek Kumar
2020-09-03 13:42 ` Jakub Narębski
2020-09-05 17:21 ` Abhishek Kumar
2020-09-13 15:39 ` Jakub Narębski
2020-09-28 21:48 ` Jakub Narębski
2020-10-05 5:25 ` Abhishek Kumar
2020-08-15 16:39 ` [PATCH v3 06/11] commit-graph: add a slab to store topological levels Abhishek Kumar via GitGitGadget
2020-08-21 18:43 ` Jakub Narębski
2020-08-25 6:14 ` Abhishek Kumar
2020-08-25 7:33 ` Jakub Narębski
2020-08-25 7:56 ` Jakub Narębski
2020-09-01 10:26 ` Abhishek Kumar
2020-09-03 9:25 ` Jakub Narębski
2020-08-15 16:39 ` [PATCH v3 07/11] commit-graph: implement corrected commit date Abhishek Kumar via GitGitGadget
2020-08-22 0:05 ` Jakub Narębski
2020-08-25 6:49 ` Abhishek Kumar
2020-08-25 10:07 ` Jakub Narębski
2020-09-01 11:01 ` Abhishek Kumar
2020-08-15 16:39 ` [PATCH v3 08/11] commit-graph: implement generation data chunk Abhishek Kumar via GitGitGadget
2020-08-22 13:09 ` Jakub Narębski
2020-08-15 16:39 ` [PATCH v3 09/11] commit-graph: use generation v2 only if entire chain does Abhishek Kumar via GitGitGadget
2020-08-22 17:14 ` Jakub Narębski
2020-08-26 7:15 ` Abhishek Kumar
2020-08-26 10:38 ` Jakub Narębski
2020-08-15 16:39 ` [PATCH v3 10/11] commit-reach: use corrected commit dates in paint_down_to_common() Abhishek Kumar via GitGitGadget
2020-08-22 19:09 ` Jakub Narębski
2020-09-01 10:08 ` Abhishek Kumar
2020-09-03 19:11 ` Jakub Narębski
2020-08-15 16:39 ` [PATCH v3 11/11] doc: add corrected commit date info Abhishek Kumar via GitGitGadget
2020-08-22 22:20 ` Jakub Narębski
2020-08-27 6:39 ` Abhishek Kumar
2020-08-27 12:43 ` Jakub Narębski
2020-08-27 13:15 ` Derrick Stolee
2020-09-01 13:01 ` Abhishek Kumar
2020-08-17 0:13 ` [PATCH v3 00/11] [GSoC] Implement Corrected Commit Date Jakub Narębski
[not found] ` <CANQwDwdKp7oKy9BeKdvKhwPUiq0R5MS8TCw-eWGCYCoMGv=G-g@mail.gmail.com>
2020-08-17 1:32 ` Fwd: " Taylor Blau
2020-08-17 7:56 ` Jakub Narębski
2020-08-18 6:12 ` Abhishek Kumar
2020-08-23 15:27 ` Jakub Narębski
2020-08-24 2:49 ` Abhishek Kumar
2020-10-07 14:09 ` [PATCH v4 00/10] " Abhishek Kumar via GitGitGadget
2020-10-07 14:09 ` [PATCH v4 01/10] commit-graph: fix regression when computing Bloom filters Abhishek Kumar via GitGitGadget
2020-10-24 23:16 ` Jakub Narębski
2020-10-25 20:58 ` Taylor Blau
2020-11-03 5:36 ` Abhishek Kumar
2020-10-07 14:09 ` [PATCH v4 02/10] revision: parse parent in indegree_walk_step() Abhishek Kumar via GitGitGadget
2020-10-24 23:41 ` Jakub Narębski
2020-10-07 14:09 ` [PATCH v4 03/10] commit-graph: consolidate fill_commit_graph_info Abhishek Kumar via GitGitGadget
2020-10-25 10:52 ` Jakub Narębski
2020-10-27 6:33 ` Abhishek Kumar
2020-10-07 14:09 ` [PATCH v4 04/10] commit-graph: return 64-bit generation number Abhishek Kumar via GitGitGadget
2020-10-25 13:48 ` Jakub Narębski
2020-11-03 6:40 ` Abhishek Kumar
2020-10-07 14:09 ` [PATCH v4 05/10] commit-graph: add a slab to store topological levels Abhishek Kumar via GitGitGadget
2020-10-25 22:17 ` Jakub Narębski [this message]
2020-10-07 14:09 ` [PATCH v4 06/10] commit-graph: implement corrected commit date Abhishek Kumar via GitGitGadget
2020-10-27 18:53 ` Jakub Narębski
2020-11-03 11:44 ` Abhishek Kumar
2020-11-04 16:45 ` Jakub Narębski
2020-11-05 14:05 ` Philip Oakley
2020-11-05 18:22 ` Junio C Hamano
2020-11-06 18:26 ` Extending and updating gitglossary (was: Re: [PATCH v4 06/10] commit-graph: implement corrected commit date) Jakub Narębski
2020-11-06 19:33 ` Extending and updating gitglossary Junio C Hamano
2020-11-08 17:23 ` Extending and updating gitglossary (was: Re: [PATCH v4 06/10] commit-graph: implement corrected commit date) Philip Oakley
2020-11-10 1:35 ` Extending and updating gitglossary Jakub Narębski
2020-11-10 14:04 ` Philip Oakley
2020-11-10 23:52 ` Jakub Narębski
2020-10-07 14:09 ` [PATCH v4 07/10] commit-graph: implement generation data chunk Abhishek Kumar via GitGitGadget
2020-10-30 12:45 ` Jakub Narębski
2020-11-06 11:25 ` Abhishek Kumar
2020-11-06 17:56 ` Jakub Narębski
2020-10-07 14:09 ` [PATCH v4 08/10] commit-graph: use generation v2 only if entire chain does Abhishek Kumar via GitGitGadget
2020-11-01 0:55 ` Jakub Narębski
2020-11-12 10:01 ` Abhishek Kumar
2020-11-13 9:59 ` Jakub Narębski
2020-10-07 14:09 ` [PATCH v4 09/10] commit-reach: use corrected commit dates in paint_down_to_common() Abhishek Kumar via GitGitGadget
2020-11-03 17:59 ` Jakub Narębski
2020-11-03 18:19 ` Junio C Hamano
2020-11-20 10:33 ` Abhishek Kumar
2020-10-07 14:09 ` [PATCH v4 10/10] doc: add corrected commit date info Abhishek Kumar via GitGitGadget
2020-11-04 1:37 ` Jakub Narębski
2020-11-21 6:30 ` Abhishek Kumar
2020-11-04 23:37 ` [PATCH v4 00/10] [GSoC] Implement Corrected Commit Date Jakub Narębski
2020-11-22 5:31 ` Abhishek Kumar
2020-12-28 11:15 ` [PATCH v5 00/11] " Abhishek Kumar via GitGitGadget
2020-12-28 11:15 ` [PATCH v5 01/11] commit-graph: fix regression when computing Bloom filters Abhishek Kumar via GitGitGadget
2020-12-30 1:35 ` Derrick Stolee
2021-01-08 5:45 ` Abhishek Kumar
2021-01-05 9:45 ` SZEDER Gábor
2021-01-05 9:47 ` SZEDER Gábor
2021-01-08 5:51 ` Abhishek Kumar
2020-12-28 11:15 ` [PATCH v5 02/11] revision: parse parent in indegree_walk_step() Abhishek Kumar via GitGitGadget
2020-12-28 11:16 ` [PATCH v5 03/11] commit-graph: consolidate fill_commit_graph_info Abhishek Kumar via GitGitGadget
2020-12-28 11:16 ` [PATCH v5 04/11] t6600-test-reach: generalize *_three_modes Abhishek Kumar via GitGitGadget
2020-12-28 11:16 ` [PATCH v5 05/11] commit-graph: add a slab to store topological levels Abhishek Kumar via GitGitGadget
2020-12-28 11:16 ` [PATCH v5 06/11] commit-graph: return 64-bit generation number Abhishek Kumar via GitGitGadget
2020-12-28 11:16 ` [PATCH v5 07/11] commit-graph: implement corrected commit date Abhishek Kumar via GitGitGadget
2020-12-30 1:53 ` Derrick Stolee
2021-01-10 12:21 ` Abhishek Kumar
2020-12-28 11:16 ` [PATCH v5 08/11] commit-graph: implement generation data chunk Abhishek Kumar via GitGitGadget
2020-12-28 11:16 ` [PATCH v5 09/11] commit-graph: use generation v2 only if entire chain does Abhishek Kumar via GitGitGadget
2020-12-30 3:23 ` Derrick Stolee
2021-01-10 13:13 ` Abhishek Kumar
2021-01-11 12:43 ` Derrick Stolee
2020-12-28 11:16 ` [PATCH v5 10/11] commit-reach: use corrected commit dates in paint_down_to_common() Abhishek Kumar via GitGitGadget
2020-12-28 11:16 ` [PATCH v5 11/11] doc: add corrected commit date info Abhishek Kumar via GitGitGadget
2020-12-30 4:35 ` [PATCH v5 00/11] [GSoC] Implement Corrected Commit Date Derrick Stolee
2021-01-10 14:06 ` Abhishek Kumar
2021-01-16 18:11 ` [PATCH v6 " Abhishek Kumar via GitGitGadget
2021-01-16 18:11 ` [PATCH v6 01/11] commit-graph: fix regression when computing Bloom filters Abhishek Kumar via GitGitGadget
2021-01-16 18:11 ` [PATCH v6 02/11] revision: parse parent in indegree_walk_step() Abhishek Kumar via GitGitGadget
2021-01-16 18:11 ` [PATCH v6 03/11] commit-graph: consolidate fill_commit_graph_info Abhishek Kumar via GitGitGadget
2021-01-16 18:11 ` [PATCH v6 04/11] t6600-test-reach: generalize *_three_modes Abhishek Kumar via GitGitGadget
2021-01-16 18:11 ` [PATCH v6 05/11] commit-graph: add a slab to store topological levels Abhishek Kumar via GitGitGadget
2021-01-16 18:11 ` [PATCH v6 06/11] commit-graph: return 64-bit generation number Abhishek Kumar via GitGitGadget
2021-01-16 18:11 ` [PATCH v6 07/11] commit-graph: implement corrected commit date Abhishek Kumar via GitGitGadget
2021-01-16 18:11 ` [PATCH v6 08/11] commit-graph: implement generation data chunk Abhishek Kumar via GitGitGadget
2021-01-16 18:11 ` [PATCH v6 09/11] commit-graph: use generation v2 only if entire chain does Abhishek Kumar via GitGitGadget
2021-01-16 18:11 ` [PATCH v6 10/11] commit-reach: use corrected commit dates in paint_down_to_common() Abhishek Kumar via GitGitGadget
2021-01-16 18:11 ` [PATCH v6 11/11] doc: add corrected commit date info Abhishek Kumar via GitGitGadget
2021-01-27 0:04 ` SZEDER Gábor
2021-01-30 5:29 ` Abhishek Kumar
2021-01-31 1:45 ` Taylor Blau
2021-01-18 21:04 ` [PATCH v6 00/11] [GSoC] Implement Corrected Commit Date Derrick Stolee
2021-01-18 22:00 ` Taylor Blau
2021-01-23 12:11 ` Abhishek Kumar
2021-01-19 0:02 ` Junio C Hamano
2021-01-23 12:07 ` Abhishek Kumar
2021-02-01 6:58 ` [PATCH v7 " Abhishek Kumar via GitGitGadget
2021-02-01 6:58 ` [PATCH v7 01/11] commit-graph: fix regression when computing Bloom filters Abhishek Kumar via GitGitGadget
2021-02-01 6:58 ` [PATCH v7 02/11] revision: parse parent in indegree_walk_step() Abhishek Kumar via GitGitGadget
2021-02-01 6:58 ` [PATCH v7 03/11] commit-graph: consolidate fill_commit_graph_info Abhishek Kumar via GitGitGadget
2021-02-01 6:58 ` [PATCH v7 04/11] t6600-test-reach: generalize *_three_modes Abhishek Kumar via GitGitGadget
2021-02-01 6:58 ` [PATCH v7 05/11] commit-graph: add a slab to store topological levels Abhishek Kumar via GitGitGadget
2021-02-01 6:58 ` [PATCH v7 06/11] commit-graph: return 64-bit generation number Abhishek Kumar via GitGitGadget
2021-02-01 6:58 ` [PATCH v7 07/11] commit-graph: document generation number v2 Abhishek Kumar via GitGitGadget
2021-02-01 6:58 ` [PATCH v7 08/11] commit-graph: implement corrected commit date Abhishek Kumar via GitGitGadget
2021-02-01 6:58 ` [PATCH v7 09/11] commit-graph: implement generation data chunk Abhishek Kumar via GitGitGadget
2021-02-01 6:58 ` [PATCH v7 10/11] commit-graph: use generation v2 only if entire chain does Abhishek Kumar via GitGitGadget
2021-02-01 6:58 ` [PATCH v7 11/11] commit-reach: use corrected commit dates in paint_down_to_common() Abhishek Kumar via GitGitGadget
2021-02-01 13:14 ` [PATCH v7 00/11] [GSoC] Implement Corrected Commit Date Derrick Stolee
2021-02-01 18:26 ` Junio C Hamano
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
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=85tuui0x3m.fsf@gmail.com \
--to=jnareb@gmail.com \
--cc=abhishekkumar8222@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitgitgadget@gmail.com \
--cc=me@ttaylorr.com \
--cc=stolee@gmail.com \
/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.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
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 read-only IMAP folder(s) and NNTP newsgroup(s).