From: Jakub Narebski <jnareb@gmail.com>
To: Derrick Stolee <stolee@gmail.com>
Cc: Derrick Stolee <dstolee@microsoft.com>,
"git\@vger.kernel.org" <git@vger.kernel.org>,
"gitster\@pobox.com" <gitster@pobox.com>,
"peff\@peff.net" <peff@peff.net>,
"avarab\@gmail.com" <avarab@gmail.com>
Subject: Re: [PATCH v4 00/10] Compute and consume generation numbers
Date: Sat, 28 Apr 2018 19:28:44 +0200 [thread overview]
Message-ID: <86in8bjl4j.fsf@gmail.com> (raw)
In-Reply-To: <527a8d47-15d4-78a1-4320-97ddc27bce48@gmail.com> (Derrick Stolee's message of "Wed, 25 Apr 2018 10:40:05 -0400")
Derrick Stolee <stolee@gmail.com> writes:
> As promised, here is the diff from v3.
What is this strange string " " in place of tabs in the interdiff?
" " here is Unicode Character 'NO-BREAK SPACE' (U+00A0).
Though it doesn't matter for viewing, my newsreader (Gnus from GNU
Emacs) thinks that it is worth notifying about when replying.
Also, it looks like at least in one place the diff got line-wrapped.
> Thanks,
> -Stolee
>
> -- >8 --
>
> diff --git a/builtin/merge.c b/builtin/merge.c
> index 7e1da6c6ea..b819756946 100644
> --- a/builtin/merge.c
> +++ b/builtin/merge.c
> @@ -1148,6 +1148,7 @@ int cmd_merge(int argc, const char **argv, const
> char *prefix)
> branch = branch_to_free = resolve_refdup("HEAD", 0, &head_oid,
> NULL);
> if (branch)
> skip_prefix(branch, "refs/heads/", &branch);
> +
> init_diff_ui_defaults();
> git_config(git_merge_config, NULL);
>
> @@ -1156,7 +1157,6 @@ int cmd_merge(int argc, const char **argv, const
> char *prefix)
> else
> head_commit = lookup_commit_or_die(&head_oid, "HEAD");
>
> -
> if (branch_mergeoptions)
> parse_branch_merge_options(branch_mergeoptions);
> argc = parse_options(argc, argv, prefix, builtin_merge_options,
Whitespace fixes, all right.
> diff --git a/commit-graph.c b/commit-graph.c
> index 21e853c21a..aebd242def 100644
> --- a/commit-graph.c
> +++ b/commit-graph.c
> @@ -257,7 +257,7 @@ static int fill_commit_in_graph(struct commit
> *item, struct commit_graph *g, uin
> uint32_t *parent_data_ptr;
> uint64_t date_low, date_high;
> struct commit_list **pptr;
> - const unsigned char *commit_data = g->chunk_commit_data +
> GRAPH_DATA_WIDTH * pos;
> + const unsigned char *commit_data = g->chunk_commit_data +
> (g->hash_len + 16) * pos;
>
> item->object.parsed = 1;
> item->graph_pos = pos;
This was accidental change in v3 (unrelated to the changes in commit it
were in). Though I wonder if the symbolic constant route is not better
- though as separate standalone commit.
> @@ -304,7 +304,7 @@ static int find_commit_in_graph(struct commit
> *item, struct commit_graph *g, uin
> *pos = item->graph_pos;
> return 1;
> } else {
> - return bsearch_graph(commit_graph,
> &(item->object.oid), pos);
> + return bsearch_graph(g, &(item->object.oid), pos);
> }
> }
>
Fixup for a commit, that was sent in separate fixup email in v3. All
right.
Though I wonder if it wouldn't be better to call global variable
'the_commit_graph' to avoid such errors in the future...
> @@ -312,10 +312,10 @@ int parse_commit_in_graph(struct commit *item)
> {
> uint32_t pos;
>
> - if (item->object.parsed)
> - return 0;
> if (!core_commit_graph)
> return 0;
> + if (item->object.parsed)
> + return 1;
> prepare_commit_graph();
> if (commit_graph && find_commit_in_graph(item, commit_graph, &pos))
> return fill_commit_in_graph(item, commit_graph, pos);
Fixed accidental flip-flopping about return value when
item->object.parsed. I'd have to take a look at actual commits to say
whether I think it is all right or not.
> @@ -454,9 +454,8 @@ static void write_graph_chunk_data(struct hashfile
> *f, int hash_len,
> else
> packedDate[0] = 0;
>
> - if ((*list)->generation != GENERATION_NUMBER_INFINITY) {
> + if ((*list)->generation != GENERATION_NUMBER_INFINITY)
> packedDate[0] |= htonl((*list)->generation << 2);
> - }
>
> packedDate[1] = htonl((*list)->date);
> hashwrite(f, packedDate, 8);
Coding style change, to be more in line with CodingGuidelines, namely
that we usually do not use block for single-command in conditionals.
All right.
> diff --git a/commit.c b/commit.c
> index 9ef6f699bd..e2e16ea1a7 100644
> --- a/commit.c
> +++ b/commit.c
> @@ -653,7 +653,7 @@ int compare_commits_by_gen_then_commit_date(const
> void *a_, const void *b_, void
> else if (a->generation > b->generation)
> return -1;
>
> - /* use date as a heuristic when generataions are equal */
> + /* use date as a heuristic when generations are equal */
> if (a->date < b->date)
> return 1;
> else if (a->date > b->date)
Fixed typo in comment. All right.
> @@ -1078,7 +1078,7 @@ int in_merge_bases_many(struct commit *commit,
> int nr_reference, struct commit *
> }
>
> if (commit->generation > min_generation)
> - return 0;
> + return ret;
>
> bases = paint_down_to_common(commit, nr_reference, reference,
> commit->generation);
> if (commit->object.flags & PARENT2)
Unifying way of returning result (to one that was used before this
commit in this fragment of the git code). Looks all right, from what I
remember.
> diff --git a/ref-filter.c b/ref-filter.c
> index e2fea6d635..fb35067fc9 100644
> --- a/ref-filter.c
> +++ b/ref-filter.c
> @@ -16,6 +16,7 @@
> #include "trailer.h"
> #include "wt-status.h"
> #include "commit-slab.h"
> +#include "commit-graph.h"
>
> static struct ref_msg {
> const char *gone;
> @@ -1629,7 +1630,7 @@ static enum contains_result
> contains_tag_algo(struct commit *candidate,
>
> for (p = want; p; p = p->next) {
> struct commit *c = p->item;
> - parse_commit_or_die(c);
> + load_commit_graph_info(c);
> if (c->generation < cutoff)
> cutoff = c->generation;
> }
Avoiding performance penalty when not using commit-graph feature (or
when it is turned off). Looks good on first glance.
> @@ -1582,7 +1583,7 @@ static int in_commit_list(const struct
> commit_list *want, struct commit *c)
> }
>
> /*
> - * Test whether the candidate or one of its parents is contained in
> the list.
> + * Test whether the candidate is contained in the list.
> * Do not recurse to find out, though, but return -1 if inconclusive.
> */
> static enum contains_result contains_test(struct commit *candidate,
Bringing comment in line with the function it is about. Good.
Best,
--
Jakub Narębski
next prev parent reply other threads:[~2018-04-28 17:28 UTC|newest]
Thread overview: 162+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-03 16:51 [PATCH 0/6] Compute and consume generation numbers Derrick Stolee
2018-04-03 16:51 ` [PATCH 1/6] object.c: parse commit in graph first Derrick Stolee
2018-04-03 18:21 ` Jonathan Tan
2018-04-03 18:28 ` Jeff King
2018-04-03 18:32 ` Derrick Stolee
2018-04-03 16:51 ` [PATCH 2/6] commit: add generation number to struct commmit Derrick Stolee
2018-04-03 18:05 ` Brandon Williams
2018-04-03 18:28 ` Jeff King
2018-04-03 18:31 ` Derrick Stolee
2018-04-03 18:32 ` Brandon Williams
2018-04-03 18:44 ` Stefan Beller
2018-04-03 23:17 ` Ramsay Jones
2018-04-03 23:19 ` Jeff King
2018-04-03 18:24 ` Jonathan Tan
2018-04-03 16:51 ` [PATCH 3/6] commit-graph: compute generation numbers Derrick Stolee
2018-04-03 18:30 ` Jonathan Tan
2018-04-03 18:49 ` Stefan Beller
2018-04-03 16:51 ` [PATCH 4/6] commit: use generations in paint_down_to_common() Derrick Stolee
2018-04-03 18:31 ` Stefan Beller
2018-04-03 18:31 ` Jonathan Tan
2018-04-03 16:51 ` [PATCH 5/6] commit.c: use generation to halt paint walk Derrick Stolee
2018-04-03 19:01 ` Jonathan Tan
2018-04-03 16:51 ` [PATCH 6/6] commit-graph.txt: update future work Derrick Stolee
2018-04-03 19:04 ` Jonathan Tan
2018-04-03 16:56 ` [PATCH 0/6] Compute and consume generation numbers Derrick Stolee
2018-04-03 18:03 ` Brandon Williams
2018-04-03 18:29 ` Derrick Stolee
2018-04-03 18:47 ` Jeff King
2018-04-03 19:05 ` Jeff King
2018-04-04 15:45 ` [PATCH 7/6] ref-filter: use generation number for --contains Derrick Stolee
2018-04-04 15:45 ` [PATCH 8/6] commit: use generation numbers for in_merge_bases() Derrick Stolee
2018-04-04 15:48 ` Derrick Stolee
2018-04-04 17:01 ` Brandon Williams
2018-04-04 18:24 ` Jeff King
2018-04-04 18:53 ` Derrick Stolee
2018-04-04 18:59 ` Jeff King
2018-04-04 18:22 ` [PATCH 7/6] ref-filter: use generation number for --contains Jeff King
2018-04-04 19:06 ` Derrick Stolee
2018-04-04 19:16 ` Jeff King
2018-04-04 19:22 ` Derrick Stolee
2018-04-04 19:42 ` Jeff King
2018-04-04 19:45 ` Derrick Stolee
2018-04-04 19:46 ` Jeff King
2018-04-07 17:09 ` [PATCH 0/6] Compute and consume generation numbers Jakub Narebski
2018-04-07 16:55 ` Jakub Narebski
2018-04-08 1:06 ` Derrick Stolee
2018-04-11 19:32 ` Jakub Narebski
2018-04-11 19:58 ` Derrick Stolee
2018-04-14 16:52 ` Jakub Narebski
2018-04-21 20:44 ` Jakub Narebski
2018-04-23 13:54 ` Derrick Stolee
2018-04-09 16:41 ` [PATCH v2 00/10] " Derrick Stolee
2018-04-09 16:41 ` [PATCH v2 01/10] object.c: parse commit in graph first Derrick Stolee
2018-04-09 16:41 ` [PATCH v2 02/10] merge: check config before loading commits Derrick Stolee
2018-04-11 2:12 ` Junio C Hamano
2018-04-11 12:49 ` Derrick Stolee
2018-04-09 16:42 ` [PATCH v2 03/10] commit: add generation number to struct commmit Derrick Stolee
2018-04-09 17:59 ` Stefan Beller
2018-04-11 2:31 ` Junio C Hamano
2018-04-11 12:57 ` Derrick Stolee
2018-04-11 23:28 ` Junio C Hamano
2018-04-09 16:42 ` [PATCH v2 04/10] commit-graph: compute generation numbers Derrick Stolee
2018-04-11 2:51 ` Junio C Hamano
2018-04-11 13:02 ` Derrick Stolee
2018-04-11 18:49 ` Stefan Beller
2018-04-11 19:26 ` Eric Sunshine
2018-04-09 16:42 ` [PATCH v2 05/10] commit: use generations in paint_down_to_common() Derrick Stolee
2018-04-09 16:42 ` [PATCH v2 06/10] commit.c: use generation to halt paint walk Derrick Stolee
2018-04-11 3:02 ` Junio C Hamano
2018-04-11 13:24 ` Derrick Stolee
2018-04-09 16:42 ` [PATCH v2 07/10] commit-graph.txt: update future work Derrick Stolee
2018-04-12 9:12 ` Junio C Hamano
2018-04-12 11:35 ` Derrick Stolee
2018-04-13 9:53 ` Jakub Narebski
2018-04-09 16:42 ` [PATCH v2 08/10] ref-filter: use generation number for --contains Derrick Stolee
2018-04-09 16:42 ` [PATCH v2 09/10] commit: use generation numbers for in_merge_bases() Derrick Stolee
2018-04-09 16:42 ` [PATCH v2 10/10] commit: add short-circuit to paint_down_to_common() Derrick Stolee
2018-04-17 17:00 ` [PATCH v3 0/9] Compute and consume generation numbers Derrick Stolee
2018-04-17 17:00 ` [PATCH v3 1/9] commit: add generation number to struct commmit Derrick Stolee
2018-04-17 17:00 ` [PATCH v3 2/9] commit-graph: compute generation numbers Derrick Stolee
2018-04-17 17:00 ` [PATCH v3 3/9] commit: use generations in paint_down_to_common() Derrick Stolee
2018-04-18 14:31 ` Jakub Narebski
2018-04-18 14:46 ` Derrick Stolee
2018-04-17 17:00 ` [PATCH v3 4/9] commit-graph.txt: update design document Derrick Stolee
2018-04-18 19:47 ` Jakub Narebski
2018-04-17 17:00 ` [PATCH v3 5/9] ref-filter: use generation number for --contains Derrick Stolee
2018-04-18 21:02 ` Jakub Narebski
2018-04-23 14:22 ` Derrick Stolee
2018-04-24 18:56 ` Jakub Narebski
2018-04-25 14:11 ` Derrick Stolee
2018-04-17 17:00 ` [PATCH v3 6/9] commit: use generation numbers for in_merge_bases() Derrick Stolee
2018-04-18 22:15 ` Jakub Narebski
2018-04-23 14:31 ` Derrick Stolee
2018-04-17 17:00 ` [PATCH v3 7/9] commit: add short-circuit to paint_down_to_common() Derrick Stolee
2018-04-18 23:19 ` Jakub Narebski
2018-04-23 14:40 ` Derrick Stolee
2018-04-23 21:38 ` Jakub Narebski
2018-04-24 12:31 ` Derrick Stolee
2018-04-19 8:32 ` Jakub Narebski
2018-04-17 17:00 ` [PATCH v3 8/9] commit-graph: always load commit-graph information Derrick Stolee
2018-04-17 17:50 ` Derrick Stolee
2018-04-19 0:02 ` Jakub Narebski
2018-04-23 14:49 ` Derrick Stolee
2018-04-17 17:00 ` [PATCH v3 9/9] merge: check config before loading commits Derrick Stolee
2018-04-19 0:04 ` [PATCH v3 0/9] Compute and consume generation numbers Jakub Narebski
2018-04-23 14:54 ` Derrick Stolee
2018-04-25 14:37 ` [PATCH v4 00/10] " Derrick Stolee
2018-04-25 14:37 ` [PATCH v4 01/10] ref-filter: fix outdated comment on in_commit_list Derrick Stolee
2018-04-28 17:54 ` Jakub Narebski
2018-04-25 14:37 ` [PATCH v4 02/10] commit: add generation number to struct commmit Derrick Stolee
2018-04-28 22:35 ` Jakub Narebski
2018-04-30 12:05 ` Derrick Stolee
2018-04-25 14:37 ` [PATCH v4 03/10] commit-graph: compute generation numbers Derrick Stolee
2018-04-26 2:35 ` Junio C Hamano
2018-04-26 12:58 ` Derrick Stolee
2018-04-26 13:49 ` Derrick Stolee
2018-04-29 9:08 ` Jakub Narebski
2018-05-01 12:10 ` Derrick Stolee
2018-05-02 16:15 ` Jakub Narebski
2018-04-25 14:37 ` [PATCH v4 04/10] commit: use generations in paint_down_to_common() Derrick Stolee
2018-04-26 3:22 ` Junio C Hamano
2018-04-26 9:02 ` Jakub Narebski
2018-04-28 14:38 ` Jakub Narebski
2018-04-29 15:40 ` Jakub Narebski
2018-04-25 14:37 ` [PATCH v4 06/10] ref-filter: use generation number for --contains Derrick Stolee
2018-04-30 16:34 ` Jakub Narebski
2018-04-25 14:37 ` [PATCH v4 05/10] commit-graph: always load commit-graph information Derrick Stolee
2018-04-29 22:14 ` Jakub Narebski
2018-05-01 12:19 ` Derrick Stolee
2018-04-29 22:18 ` Jakub Narebski
2018-04-25 14:37 ` [PATCH v4 07/10] commit: use generation numbers for in_merge_bases() Derrick Stolee
2018-04-30 17:05 ` Jakub Narebski
2018-04-25 14:38 ` [PATCH v4 08/10] commit: add short-circuit to paint_down_to_common() Derrick Stolee
2018-04-30 22:19 ` Jakub Narebski
2018-05-01 11:47 ` Derrick Stolee
2018-05-02 13:05 ` Jakub Narebski
2018-05-02 13:42 ` Derrick Stolee
2018-04-25 14:38 ` [PATCH v4 09/10] merge: check config before loading commits Derrick Stolee
2018-04-30 22:54 ` Jakub Narebski
2018-05-01 11:52 ` Derrick Stolee
2018-05-02 11:41 ` Jakub Narebski
2018-04-25 14:38 ` [PATCH v4 10/10] commit-graph.txt: update design document Derrick Stolee
2018-04-30 23:32 ` Jakub Narebski
2018-05-01 12:00 ` Derrick Stolee
2018-05-02 7:57 ` Jakub Narebski
2018-04-25 14:40 ` [PATCH v4 00/10] Compute and consume generation numbers Derrick Stolee
2018-04-28 17:28 ` Jakub Narebski [this message]
2018-05-01 12:47 ` [PATCH v5 00/11] " Derrick Stolee
2018-05-01 12:47 ` [PATCH v5 01/11] ref-filter: fix outdated comment on in_commit_list Derrick Stolee
2018-05-01 12:47 ` [PATCH v5 02/11] commit: add generation number to struct commmit Derrick Stolee
2018-05-01 12:47 ` [PATCH v5 03/11] commit-graph: compute generation numbers Derrick Stolee
2018-05-01 12:47 ` [PATCH v5 04/11] commit: use generations in paint_down_to_common() Derrick Stolee
2018-05-01 12:47 ` [PATCH v5 05/11] commit-graph: always load commit-graph information Derrick Stolee
2018-05-01 12:47 ` [PATCH v5 06/11] ref-filter: use generation number for --contains Derrick Stolee
2018-05-01 12:47 ` [PATCH v5 07/11] commit: use generation numbers for in_merge_bases() Derrick Stolee
2018-05-01 12:47 ` [PATCH v5 08/11] commit: add short-circuit to paint_down_to_common() Derrick Stolee
2018-05-01 12:47 ` [PATCH v5 09/11] commit: use generation number in remove_redundant() Derrick Stolee
2018-05-01 15:37 ` Derrick Stolee
2018-05-03 18:45 ` Jakub Narebski
2018-05-01 12:47 ` [PATCH v5 10/11] merge: check config before loading commits Derrick Stolee
2018-05-01 12:47 ` [PATCH v5 11/11] commit-graph.txt: update design document Derrick Stolee
2018-05-03 11:18 ` [PATCH v5 00/11] Compute and consume generation numbers Jakub Narebski
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=86in8bjl4j.fsf@gmail.com \
--to=jnareb@gmail.com \
--cc=avarab@gmail.com \
--cc=dstolee@microsoft.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=peff@peff.net \
--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.
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).