From: David Lang <david@lang.hm>
To: Stefan Beller <sbeller@google.com>
Cc: Duy Nguyen <pclouds@gmail.com>,
Junio C Hamano <gitster@pobox.com>,
Git Mailing List <git@vger.kernel.org>
Subject: Re: [RFC/PATCH 0/3] protocol v2
Date: Sun, 1 Mar 2015 17:05:30 -0800 (PST) [thread overview]
Message-ID: <alpine.DEB.2.02.1503011653000.12474@nftneq.ynat.uz> (raw)
In-Reply-To: <CAGZ79kaHGw=OyrkktWeo-MR0V1_bASB1cioP+c2Ngpt6fkRxBA@mail.gmail.com>
On Sun, 1 Mar 2015, Stefan Beller wrote:
> The way I understand Junio here is to have predefined points which
> makes it easier to communicate. There are lots of clients and they usually
> want to catch up a different amount of commits, so we need to recompute it
> all the time. The idea is then to compute a small pack from the original point
> to one of these predefined points.
> So a conversion might look like:
> Client: My newest commit is dated 2014-11-17.
> Server: ok here is a pack from 2014-11-17 until 2014-12-01 and then
> I have prepared packs I sent out all the time of 2014-12 and 2015-01
> and 2015-02 and then there will be another custom pack for you describing
> changes of 2015-02-01 until now.
>
> Mind that I choose dates instead of arbitrary sha1 values as I feel
> that explains the
> point better, the packs in between are precomputed because many
> clients need them.
>
> Personally I don't buy that idea, because it produces a lot of question, like
> how large should these packs be? Depending on time or commit counts?
I think this is going to depend on the project in question. I think that doing
this based on public tags makes lots of sense. The precomputed packs should also
change over time.
For example, with the linux kernel, as each -rc is released, there will be a lot
of people wanting to upgrade from a prior -rc, so having a pack for each of
these is probably worthwhile. You probably also want a precomputed pack to move
from some of the -rc releases to the final release. And then a single pack to
move from the prior final release to the newest one. There may also me a resons
to make a pack that jumps several releases to go from one LTS kernel to the
next.
Exactly what precomputed packs make sense, and how large the packs should be is
going to be _very_ dependent on the update patterns of users. The only people
who can decide exactly what packs they should use are the admins of the systems,
and should be based on their logs of what requests are being made. I can see the
git project creating scripts to analyze the logs of client connections to make
recommendations on what packs would be useful to have pre-generated, ideally
ordered by how much computation they would save (and the amount of disk space
required to hold the packs, and then the admin of the site can indicate where
they want the cutoff to be. Some extremely busy sites may have a lot of disk
space compared to CPU and be willing to have lots of packs around, others are
less busy and will only want to keep a few around.
David Lang
next prev parent reply other threads:[~2015-03-02 1:05 UTC|newest]
Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-24 3:12 [RFC/PATCH 0/3] protocol v2 Stefan Beller
2015-02-24 3:12 ` [PATCH 1/3] Document protocol capabilities extension Stefan Beller
2015-02-24 3:12 ` [PATCH 2/3] receive-pack: add advertisement of different protocol options Stefan Beller
2015-02-24 3:12 ` [PATCH 3/3] receive-pack: enable protocol v2 Stefan Beller
2015-02-24 4:02 ` [RFC/PATCH 0/3] " Duy Nguyen
2015-02-24 5:40 ` Stefan Beller
2015-02-24 6:15 ` Junio C Hamano
2015-02-24 23:37 ` Stefan Beller
2015-02-25 12:44 ` Duy Nguyen
2015-02-25 18:04 ` Junio C Hamano
2015-02-26 7:31 ` Stefan Beller
2015-02-26 10:15 ` Duy Nguyen
2015-02-26 20:08 ` Stefan Beller
[not found] ` <CACsJy8DOS_999ZgW7TqsH-dkrUFpjZf0TFQeFUt9s0bNhHY0Bw@mail.gmail.com>
2015-02-27 22:20 ` Stefan Beller
2015-02-26 20:13 ` Junio C Hamano
2015-02-27 1:26 ` Stefan Beller
2015-02-27 2:15 ` Stefan Beller
2015-02-27 23:05 ` Junio C Hamano
2015-02-27 23:44 ` Stefan Beller
2015-02-28 0:33 ` Junio C Hamano
2015-02-28 0:46 ` Stefan Beller
2015-02-28 1:01 ` [RFC/PATCH 0/5] protocol v2 for upload-pack Stefan Beller
2015-02-28 1:01 ` [RFC/PATCH 1/5] upload-pack: only accept capabilities on the first "want" line Stefan Beller
2015-02-28 1:01 ` [RFC/PATCH 2/5] upload-pack: support out of band client capability requests Stefan Beller
2015-02-28 7:47 ` Kyle J. McKay
2015-02-28 11:22 ` Duy Nguyen
2015-02-28 22:36 ` Kyle J. McKay
2015-03-01 0:11 ` Duy Nguyen
2015-02-28 11:36 ` Duy Nguyen
2015-02-28 1:01 ` [RFC/PATCH 3/5] connect.c: connect to a remote service with some flags Stefan Beller
2015-02-28 11:11 ` Torsten Bögershausen
2015-03-01 3:22 ` Junio C Hamano
2015-02-28 1:01 ` [RFC/PATCH 4/5] daemon.c: accept extra service arguments Stefan Beller
2015-03-01 3:39 ` Junio C Hamano
2015-02-28 1:01 ` [RFC/PATCH 5/5] WIP/Document the http protocol change Stefan Beller
2015-02-28 12:26 ` Duy Nguyen
2015-03-01 9:11 ` [RFC/PATCH 0/5] protocol v2 for upload-pack Johannes Sixt
2015-03-02 2:58 ` Junio C Hamano
2015-03-02 3:47 ` [RFC/PATCH 0/3] protocol v2 Junio C Hamano
2015-03-02 9:21 ` Duy Nguyen
2015-03-02 9:24 ` Duy Nguyen
2015-03-03 10:33 ` Duy Nguyen
2015-03-03 17:13 ` Junio C Hamano
2015-03-03 19:47 ` Junio C Hamano
2015-03-04 1:54 ` Duy Nguyen
2015-03-04 4:27 ` Shawn Pearce
2015-03-04 12:05 ` Duy Nguyen
2015-03-04 19:10 ` Shawn Pearce
2015-03-05 1:03 ` Stefan Beller
2015-03-05 16:03 ` Stefan Beller
2015-03-24 17:42 ` Stefan Beller
2015-03-24 18:00 ` Junio C Hamano
2015-03-06 23:38 ` [PATCH] protocol upload-pack-v2 Stefan Beller
2015-03-06 23:40 ` Stefan Beller
2015-03-06 23:55 ` Duy Nguyen
2015-03-07 0:00 ` Duy Nguyen
2015-03-07 0:28 ` Junio C Hamano
2015-03-07 4:28 ` Stefan Beller
2015-03-07 5:21 ` Duy Nguyen
2015-03-08 20:36 ` Junio C Hamano
2015-03-31 19:58 ` Junio C Hamano
2015-04-02 12:37 ` Duy Nguyen
2015-04-02 14:45 ` Junio C Hamano
2015-04-02 22:18 ` Martin Fick
2015-04-02 22:58 ` Junio C Hamano
2015-04-02 23:00 ` Stefan Beller
2015-04-02 23:14 ` Stefan Beller
2015-03-10 1:38 ` Duy Nguyen
2015-03-10 19:36 ` Kyle J. McKay
2015-02-28 0:07 ` [RFC/PATCH 0/3] protocol v2 Duy Nguyen
2015-02-28 0:26 ` Junio C Hamano
2015-03-01 8:41 ` Junio C Hamano
2015-03-01 11:32 ` Duy Nguyen
2015-03-01 19:56 ` Stefan Beller
2015-03-02 1:05 ` David Lang [this message]
2015-03-01 23:06 ` Junio C Hamano
2015-03-02 1:09 ` David Lang
2015-03-02 3:10 ` Junio C Hamano
2015-03-01 23:06 ` Philip Oakley
2015-03-02 9:32 ` Duy Nguyen
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=alpine.DEB.2.02.1503011653000.12474@nftneq.ynat.uz \
--to=david@lang.hm \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=pclouds@gmail.com \
--cc=sbeller@google.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).