Re: [PATCH 1/6] commit-graph: fix regression when computing bloom filter
- From
Jakub Narębski <jnareb@gmail.com>
- Date
- Aug 4, 2020, 10:10 UTC
- Message-ID
- <85wo2eu3gc.fsf@gmail.com>
- In-Reply-To
- <20200804005658.GB75662@syl.lan>
Taylor Blau <me@ttaylorr.com> writes:
> On Tue, Aug 04, 2020 at 02:46:55AM +0200, Jakub Narębski wrote: >> "Abhishek Kumar via GitGitGadget" <gitgitgadget@gmail.com> writes:
[...]
Show 25 quoted lines
>>> diff --git a/commit-graph.c b/commit-graph.c >>> index 1af68c297d..5d3c9bd23c 100644 >>> --- a/commit-graph.c >>> +++ b/commit-graph.c >> >> We might want to add function comment either here or in the header that >> this comparisonn function is to be used only for `git commit-graph >> write`, and not for graph traversal (even if similar funnction exists in >> other modules). > > I think that probably within the function is just fine, and that we can > avoid touching commit-graph.h here. > >> >>> @@ -144,8 +144,9 @@ static int commit_gen_cmp(const void *va, const void *vb) >>> const struct commit *a = *(const struct commit **)va; >>> const struct commit *b = *(const struct commit **)vb; > > Maybe something like: > > /* > * Access the generation number directly with > * 'commit_graph_data_at(...)->generation' instead of going through > * the slab as usual to avoid accessing a yet-uncomputed value. > */
I think the last part of this comment should read:
[...]
* 'commit_graph_data_at(...)->generation' instead of going through
* the commit_graph_generation() helper function to access just
* computed data [during `git commit-graph write --reachable --changed-paths`].
*/Or something like that (the part in square brackets is optional; I am not sure if adding it helps or not).
> > Folks that are curious for more can blame this commit and read there. > I'd err on the side of being brief in the code comment and verbose in > the commit message than the other way around ;).
I agree.
Show 9 quoted lines
>>> >>> - uint32_t generation_a = commit_graph_generation(a); >>> - uint32_t generation_b = commit_graph_generation(b); >>> + uint32_t generation_a = commit_graph_data_at(a)->generation; >>> + uint32_t generation_b = commit_graph_data_at(b)->generation; >>> + >>> /* lower generation commits first */ >>> if (generation_a < generation_b) >>> return -1;
Best,
-- Jakub Narębski