git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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

  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).