From: Jonathan Tan <jonathantanmy@google.com>
To: git@vger.kernel.org
Cc: Jonathan Tan <jonathantanmy@google.com>, jrnieder@gmail.com
Subject: [PATCH v2 0/8] Refactor fetch negotiation into its own API
Date: Wed, 6 Jun 2018 13:47:06 -0700 [thread overview]
Message-ID: <cover.1528317619.git.jonathantanmy@google.com> (raw)
In-Reply-To: <cover.1527894919.git.jonathantanmy@google.com>
Thanks, Jonathan Nieder, for your comments.
This patch set now includes a patch at the beginning to split up
everything_local(), making it clear which functions have side effects
and which don't, and a patch at the end to reformat some comments.
While I was implementing the suggestions, there were some that I were
unsure about. Here they are:
> > nit: this adds the new test as last in the script. Is there some
> > logical earlier place in the file it can go instead? That way, the
> > file stays organized and concurrent patches that modify the same test
> > script are less likely to conflict.
>
> Good point. I'll find a place.
I couldn't find a logical place (I didn't see any existing tests that
test negotiation). I did move it up a bit earlier in the file, before
filtering by blob size, because that seemed more distinct from the rest
of the tests.
> >> -static struct prio_queue rev_list = { compare_commits_by_commit_date };
> >> -static int non_common_revs, multi_ack, use_sideband;
> >> +struct data {
> >> + struct prio_queue rev_list;
> >> + int non_common_revs;
> >> +};
> >
> > How does this struct get used? What does it represent? A comment
> > might help.
>
> I'll add a comment.
I thought of adding a comment, but felt that I would end up removing it
anyway upon its move to negotiator/default.c, so I didn't end up adding
it.
> >> +/*
> >> + This function marks a rev and its ancestors as common.
> >> + In some cases, it is desirable to mark only the ancestors (for example
> >> + when only the server does not yet know that they are common).
> >> +*/
> >
> > Not about this change: comments should have ' *' at the start of each
> > line (could do in a preparatory patch or a followup).
>
> I'll add a followup.
I'm now not sure of the value of making a change just to update
formatting, but I added the followup commit anyway - it can be easily
dropped if we decide to do so.
Jonathan Tan (8):
fetch-pack: split up everything_local()
fetch-pack: clear marks before re-marking
fetch-pack: directly end negotiation if ACK ready
fetch-pack: use ref adv. to prune "have" sent
fetch-pack: make negotiation-related vars local
fetch-pack: move common check and marking together
fetch-pack: introduce negotiator API
negotiator/default: use better style in comments
Makefile | 2 +
fetch-negotiator.c | 8 ++
fetch-negotiator.h | 57 ++++++++++
fetch-pack.c | 254 ++++++++++++++----------------------------
negotiator/default.c | 174 +++++++++++++++++++++++++++++
negotiator/default.h | 8 ++
object.h | 3 +-
t/t5500-fetch-pack.sh | 39 +++++++
8 files changed, 376 insertions(+), 169 deletions(-)
create mode 100644 fetch-negotiator.c
create mode 100644 fetch-negotiator.h
create mode 100644 negotiator/default.c
create mode 100644 negotiator/default.h
--
2.17.0.768.g1526ddbba1.dirty
next prev parent reply other threads:[~2018-06-06 20:47 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-04 17:29 [PATCH 0/6] Refactor fetch negotiation into its own API Jonathan Tan
2018-06-04 17:29 ` [PATCH 1/6] fetch-pack: clear marks before everything_local() Jonathan Tan
2018-06-05 23:08 ` Jonathan Nieder
2018-06-06 0:32 ` Jonathan Tan
2018-06-04 17:29 ` [PATCH 2/6] fetch-pack: truly stop negotiation upon ACK ready Jonathan Tan
2018-06-05 23:16 ` Jonathan Nieder
2018-06-05 23:18 ` Jonathan Nieder
2018-06-06 0:38 ` Jonathan Tan
2018-06-04 17:29 ` [PATCH 3/6] fetch-pack: in protocol v2, enqueue commons first Jonathan Tan
2018-06-05 23:30 ` Jonathan Nieder
2018-06-06 2:10 ` Jonathan Tan
2018-06-04 17:29 ` [PATCH 4/6] fetch-pack: make negotiation-related vars local Jonathan Tan
2018-06-05 23:35 ` Jonathan Nieder
2018-06-06 2:12 ` Jonathan Tan
2018-06-04 17:29 ` [PATCH 5/6] fetch-pack: move common check and marking together Jonathan Tan
2018-06-06 0:01 ` Jonathan Nieder
2018-06-06 2:12 ` Jonathan Tan
2018-06-04 17:29 ` [PATCH 6/6] fetch-pack: introduce negotiator API Jonathan Tan
2018-06-06 0:37 ` Jonathan Nieder
2018-06-06 2:17 ` Jonathan Tan
2018-06-06 20:47 ` Jonathan Tan [this message]
2018-06-06 20:47 ` [PATCH v2 1/8] fetch-pack: split up everything_local() Jonathan Tan
2018-06-14 17:26 ` Brandon Williams
2018-06-06 20:47 ` [PATCH v2 2/8] fetch-pack: clear marks before re-marking Jonathan Tan
2018-06-06 20:47 ` [PATCH v2 3/8] fetch-pack: directly end negotiation if ACK ready Jonathan Tan
2018-06-14 17:29 ` Brandon Williams
2018-06-14 17:34 ` Brandon Williams
2018-06-06 20:47 ` [PATCH v2 4/8] fetch-pack: use ref adv. to prune "have" sent Jonathan Tan
2018-06-14 17:32 ` Brandon Williams
2018-06-14 19:52 ` Junio C Hamano
2018-06-06 20:47 ` [PATCH v2 5/8] fetch-pack: make negotiation-related vars local Jonathan Tan
2018-06-14 17:38 ` Brandon Williams
2018-06-14 19:36 ` Junio C Hamano
2018-06-06 20:47 ` [PATCH v2 6/8] fetch-pack: move common check and marking together Jonathan Tan
2018-06-06 20:47 ` [PATCH v2 7/8] fetch-pack: introduce negotiator API Jonathan Tan
2018-06-06 20:47 ` [PATCH v2 8/8] negotiator/default: use better style in comments Jonathan Tan
2018-06-14 17:39 ` Brandon Williams
2018-06-14 22:54 ` [PATCH v3 0/7] Refactor fetch negotiation into its own API Jonathan Tan
2018-06-14 22:54 ` [PATCH v3 1/7] fetch-pack: split up everything_local() Jonathan Tan
2018-06-14 22:54 ` [PATCH v3 2/7] fetch-pack: clear marks before re-marking Jonathan Tan
2018-06-14 22:54 ` [PATCH v3 3/7] fetch-pack: directly end negotiation if ACK ready Jonathan Tan
2018-06-15 16:04 ` Junio C Hamano
2018-06-14 22:54 ` [PATCH v3 4/7] fetch-pack: use ref adv. to prune "have" sent Jonathan Tan
2018-06-14 22:54 ` [PATCH v3 5/7] fetch-pack: make negotiation-related vars local Jonathan Tan
2018-06-14 22:54 ` [PATCH v3 6/7] fetch-pack: move common check and marking together Jonathan Tan
2018-06-14 22:54 ` [PATCH v3 7/7] fetch-pack: introduce negotiator API Jonathan Tan
2018-06-25 18:24 ` [PATCH v3 0/7] Refactor fetch negotiation into its own API Brandon Williams
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=cover.1528317619.git.jonathantanmy@google.com \
--to=jonathantanmy@google.com \
--cc=git@vger.kernel.org \
--cc=jrnieder@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.