All of lore.kernel.org
 help / color / mirror / Atom feed
From: "H. Peter Anvin" <hpa@zytor.com>
To: Linus Torvalds <torvalds@osdl.org>
Cc: Daniel Barkalow <barkalow@iabervon.org>,
	Git Mailing List <git@vger.kernel.org>,
	Junio C Hamano <junkio@cox.net>,
	ftpadmin@kernel.org
Subject: Re: "git-send-pack"
Date: Thu, 30 Jun 2005 13:23:14 -0700	[thread overview]
Message-ID: <42C454B2.6090307@zytor.com> (raw)
In-Reply-To: <Pine.LNX.4.58.0506301302410.14331@ppc970.osdl.org>

Linus Torvalds wrote:
> 
> It won't _really_ solve the problem, since the pushed pack objects will
> grow at a proportional rate to the current objects - it's just a constant
> factor (admittedly a potentially fairly _big_ constant factor)  
> improvement both in size and in number of files.
> 

If I've understood this correctly, it's not a constant factor 
improvement in the number of files (in the size, yes); it's changing it 
from O(t*c) to O(t) where t is number of trees and c is number of 
changesets.  That's key.

The problem we're having (on kernel.org) right now is that there isn't a 
hierarchial time stamp in Unix, so we have to compare on a file-by-file 
level.  rsync is quite good at discovering an invariant beginning of a 
file, but when it comes to a mass of files it has to compare the stamps 
on each and every one, each time.  It will only descend into a single 
file, however, if that file has had its timestamp changed.

For the purposes of rsync, storing the objects in a single append-only 
file would be a very efficient method, since the rsync algorithm will 
quickly discover an invariant head and only transmit the tail.  It's not 
ideal, and having something git-aware would be better, but I think it's 
really would be nice to have something which also plays well with rsync. 
  There is a *lot* of infrastructure in rsync which is actually hard to 
replicate with another tool (including the server architecture); in many 
ways it would be easier to convince the rsync developers to create a 
plugin architecture and re-use all that code rather than developing an 
equivalent tool from scratch.

	-hpa

  reply	other threads:[~2005-06-30 20:18 UTC|newest]

Thread overview: 86+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-06-30 17:54 "git-send-pack" Linus Torvalds
2005-06-30 18:24 ` "git-send-pack" A Large Angry SCM
2005-06-30 18:27   ` "git-send-pack" A Large Angry SCM
2005-06-30 19:04   ` "git-send-pack" Linus Torvalds
2005-06-30 18:45 ` "git-send-pack" Jan Harkes
2005-06-30 19:01 ` "git-send-pack" Mike Taht
2005-06-30 19:42   ` "git-send-pack" Linus Torvalds
2005-07-01  9:50     ` "git-send-pack" Matthias Urlichs
2005-06-30 19:44 ` "git-send-pack" Linus Torvalds
2005-06-30 20:38   ` "git-send-pack" Junio C Hamano
2005-06-30 21:05     ` "git-send-pack" Daniel Barkalow
2005-06-30 21:29       ` "git-send-pack" Linus Torvalds
2005-06-30 21:55         ` "git-send-pack" H. Peter Anvin
2005-06-30 22:26           ` "git-send-pack" Linus Torvalds
2005-06-30 23:40             ` "git-send-pack" H. Peter Anvin
2005-07-01  0:02               ` "git-send-pack" Linus Torvalds
2005-07-01  1:24                 ` "git-send-pack" H. Peter Anvin
2005-07-01 23:44                 ` "git-send-pack" Mike Taht
2005-07-02  0:07                   ` "git-send-pack" H. Peter Anvin
2005-07-02  1:56                   ` "git-send-pack" Linus Torvalds
2005-07-02  4:08                     ` "git-send-pack" H. Peter Anvin
2005-07-02  4:22                       ` "git-send-pack" Linus Torvalds
2005-07-02  4:29                         ` "git-send-pack" H. Peter Anvin
2005-07-02 17:16                           ` "git-send-pack" Linus Torvalds
2005-07-02 17:37                             ` "git-send-pack" H. Peter Anvin
2005-07-02 17:44                             ` "git-send-pack" Tony Luck
2005-07-02 17:48                               ` "git-send-pack" H. Peter Anvin
2005-07-02 18:12                                 ` "git-send-pack" A Large Angry SCM
2005-06-30 22:25         ` "git-send-pack" Daniel Barkalow
2005-06-30 23:56           ` "git-send-pack" Linus Torvalds
2005-07-01  5:01             ` "git-send-pack" Daniel Barkalow
2005-06-30 21:08     ` "git-send-pack" Linus Torvalds
2005-06-30 21:10     ` "git-send-pack" Dan Holmsand
2005-06-30 19:49 ` "git-send-pack" Daniel Barkalow
2005-06-30 20:12   ` "git-send-pack" Linus Torvalds
2005-06-30 20:23     ` H. Peter Anvin [this message]
2005-06-30 20:52       ` "git-send-pack" Linus Torvalds
2005-06-30 21:23         ` "git-send-pack" H. Peter Anvin
2005-06-30 21:26           ` "git-send-pack" H. Peter Anvin
2005-06-30 21:42           ` "git-send-pack" Linus Torvalds
2005-06-30 22:00             ` "git-send-pack" H. Peter Anvin
2005-07-01 10:31               ` "git-send-pack" Matthias Urlichs
2005-07-01 14:43                 ` "git-send-pack" Jan Harkes
2005-07-01 13:56               ` Tags Eric W. Biederman
2005-07-01 16:37                 ` Tags H. Peter Anvin
2005-07-01 22:38                   ` Tags Eric W. Biederman
2005-07-01 22:44                     ` Tags H. Peter Anvin
2005-07-01 23:07                       ` Tags Eric W. Biederman
2005-07-01 23:22                         ` Tags Daniel Barkalow
2005-07-02  0:06                         ` Tags H. Peter Anvin
2005-07-02  7:00                           ` Tags Eric W. Biederman
2005-07-02 17:47                             ` Tags H. Peter Anvin
2005-07-02 17:54                               ` Tags Eric W. Biederman
2005-07-02 17:58                                 ` Tags H. Peter Anvin
2005-07-02 18:31                                   ` Tags Eric W. Biederman
2005-07-02 19:55                                     ` Tags Matthias Urlichs
2005-07-02 21:16                                     ` Tags H. Peter Anvin
2005-07-02 21:39                                       ` Tags Linus Torvalds
2005-07-02 21:42                                         ` Tags H. Peter Anvin
2005-07-02 22:02                                           ` Tags A Large Angry SCM
2005-07-02 22:20                                             ` Tags Linus Torvalds
2005-07-02 23:49                                               ` Tags A Large Angry SCM
2005-07-03  0:17                                                 ` Tags Linus Torvalds
2005-07-02 22:14                                           ` Tags Petr Baudis
2005-07-02 22:17                                           ` Tags Linus Torvalds
2005-07-03  0:04                                             ` Tags Dan Holmsand
2005-07-03 22:34                                               ` Tags Kevin Smith
2005-07-05 13:04                                             ` Tags Eric W. Biederman
2005-07-05 16:21                                               ` Tags Daniel Barkalow
2005-07-05 17:51                                                 ` Tags Eric W. Biederman
2005-07-05 18:33                                                   ` Tags Linus Torvalds
2005-07-05 19:22                                                     ` Tags Junio C Hamano
2005-07-06 18:04                                                       ` Tags Matthias Urlichs
2005-07-07  3:31                                                     ` Tags Eric W. Biederman
2005-07-02 18:45                                   ` Tags Linus Torvalds
2005-07-02 20:38                           ` Tags Jan Harkes
2005-07-02 22:32                             ` Tags Jan Harkes
2005-07-02 16:00                       ` Tags Matthias Urlichs
2005-07-01 18:09                 ` Tags Petr Baudis
2005-07-01 18:37                   ` Tags H. Peter Anvin
2005-07-01 21:20                     ` Tags Matthias Urlichs
2005-07-01 21:42                     ` Tags Petr Baudis
2005-07-01 21:52                       ` Tags H. Peter Anvin
2005-07-01 22:27                         ` Tags Daniel Barkalow
2005-07-01 22:59                         ` Tags Petr Baudis
2005-06-30 20:49     ` "git-send-pack" Daniel Barkalow

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=42C454B2.6090307@zytor.com \
    --to=hpa@zytor.com \
    --cc=barkalow@iabervon.org \
    --cc=ftpadmin@kernel.org \
    --cc=git@vger.kernel.org \
    --cc=junkio@cox.net \
    --cc=torvalds@osdl.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 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.