From: "Jon Smirl" <jonsmirl@gmail.com>
To: "Shawn O. Pearce" <spearce@spearce.org>
Cc: "Junio C Hamano" <junkio@cox.net>, "Nicolas Pitre" <nico@cam.org>,
"Git Mailing List" <git@vger.kernel.org>
Subject: Re: Efficiency of initial clone from server
Date: Mon, 12 Feb 2007 00:17:19 -0500 [thread overview]
Message-ID: <9e4733910702112117o53630946ja50572c7c7f2b2c1@mail.gmail.com> (raw)
In-Reply-To: <20070212051108.GB699@spearce.org>
On 2/12/07, Shawn O. Pearce <spearce@spearce.org> wrote:
> Jon Smirl <jonsmirl@gmail.com> wrote:
> > But pack to the original point, can't the server check and see if it
> > has write access so that it can keep the fully packed tree? I've just
> > caused kernel.org to needlessly repack the wireless-dev tree a dozen
> > times playing with this clone command. If it didn't have to keep
> > repacking for the clone, clone would be a lot faster.
>
> We probably could.
>
> I have actually been thinking about another problem that is
> somewhat related. We cannot put more than 4 GiB of data into a
> single packfile, due to the current index size limitation, or more
> than 2^32-1 objects into one packfile, due to the header nr_objects
> field size.
>
> Right now we are sending a single packfile down to the client,
> even if the remote server end has the repository broken down into
> a couple of packfiles (such as "really old historical stuff" and
> "active stuff from this year"). If we could send more than one
> packfile to the client in a single stream, we could still keep the
> file size limitations.
>
> We can also avoid this huge repack case on the server. Because it
> could just send all of the packfiles that it already has, followed
> by whatever is loose which wasn't in a prior packfile. And no
> write access required.
>
> Of course, we still could do the optimization of caching the
> packfile, but I'm not sure how well that would work on kernel.org,
> as I understand the trees are owned by the devs which created them
> while the git daemon is probably not running as their UNIX user.
I didn't want to cache the packfile, instead I wanted to repack the
repository and then copy the resulting pack file down the wire. A
clone would just be a trigger to make sure everything in the repo was
packed (maybe into multiple packs) before starting to send anything.
Doing it this way means that everyone benefits from the packing.
>
> --
> Shawn.
>
--
Jon Smirl
jonsmirl@gmail.com
next prev parent reply other threads:[~2007-02-12 5:17 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-02-11 19:53 Efficiency of initial clone from server Jon Smirl
2007-02-11 22:53 ` Shawn O. Pearce
2007-02-11 23:25 ` Jon Smirl
2007-02-11 23:51 ` Jon Smirl
2007-02-12 1:38 ` Nicolas Pitre
2007-02-12 2:15 ` Jon Smirl
2007-02-12 3:55 ` Nicolas Pitre
2007-02-12 4:49 ` Shawn O. Pearce
2007-02-12 16:42 ` Nicolas Pitre
2007-02-12 4:16 ` Junio C Hamano
2007-02-12 4:29 ` Jon Smirl
2007-02-12 4:33 ` Junio C Hamano
2007-02-12 4:53 ` Jon Smirl
2007-02-12 5:01 ` Jon Smirl
2007-02-12 5:11 ` Shawn O. Pearce
2007-02-12 5:17 ` Jon Smirl [this message]
2007-02-12 15:20 ` Nicolas Pitre
2007-02-12 19:35 ` Theodore Tso
2007-02-12 20:53 ` Junio C Hamano
2007-02-12 21:33 ` Nicolas Pitre
2007-02-13 0:51 ` Jakub Narebski
2007-02-12 5:30 ` Junio C Hamano
2007-02-12 5:55 ` Jon Smirl
2007-02-12 6:08 ` Junio C Hamano
2007-02-12 15:24 ` Jon Smirl
2007-02-12 16:40 ` Jon Smirl
2007-02-12 17:04 ` Shawn O. Pearce
2007-02-12 11:45 ` Johannes Schindelin
2007-02-12 14:31 ` Jon Smirl
2007-02-12 17:06 ` Shawn O. Pearce
2007-02-13 15:03 ` Andreas Ericsson
2007-02-11 23:29 ` Jon Smirl
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=9e4733910702112117o53630946ja50572c7c7f2b2c1@mail.gmail.com \
--to=jonsmirl@gmail.com \
--cc=git@vger.kernel.org \
--cc=junkio@cox.net \
--cc=nico@cam.org \
--cc=spearce@spearce.org \
/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).