login
Header Space

 
 

Re: git-daemon on NSLU2

Score:
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Jeff King <peff@...>, Git Mailing List <git@...>
Cc: Jon Smirl <jonsmirl@...>, Linus Torvalds <torvalds@...>, Nicolas Pitre <nico@...>, Shawn O. Pearce <spearce@...>
Date: Sunday, August 26, 2007 - 8:14 pm

On Sun, Aug 26, 2007, Jeff King wrote:

I think that "reuse existing packs if sensible" idea (instead of generating
always new pack) is a good one, even if at first limited to the clone case.

There are nevertheless a few complications.

1. When discussing this idea on git mailing list some time ago somebody
said that we don't need to implement "multi pack" extension (which was
at the beginning in the design, to add later, if I understand correctly),
it is enough to concatenate packs. The receiving side can then detect
boundaries between packs and split them appropriately. But is a
concatenated a proper pack? If not, then we can send concatenation of
packs only if the client (receiving side) understands it, and can split it;
it means checking for protocol extension...

2. How to detect that request is for a clone? git-clone is get all remote
heads and fetch from just received heads. But because fecthing refs and
fetching objects is separate, we cannot I think use this sequence for
detecting that we want a clone. We can use "no haves" as heuristic to
detect a clone request, but "no haves" occurs also for initial fetching of
single branch (i.e. using: git-remote; git-fetch sequence instead of
git-clone).

3. The problem with alternates mentioned by Linus is not much a problem,
as we can simply consider packs from the alternate repository/repositories.
For example if we use single alternate, we would send concatenation of
packs from this repository, and from alternate (and pack of loose objects
from this repository).


We would probably want to have some heuristic (besides configuring
git-daemon) to choose between reusing existing packs (and sending them
concatenated), and generating a pack for sending. Note that for dumb
transports we have the opposite problem and opposite idea: we always
send full packs for dumb transports; the idea was to use range downloading
(available at least for http and ftp protocols) to download only needed
fragments of packs. Perhaps if some % of pack (number of objects in the
pack or size of pack) is to be send then we reuse the pack, and remove
objects in the pack from consideration. No idea of how to implement that,
though. Or if number of objects in pack to be send crosses some threshold,
or generating pack/doing reachability analysis takes to loong, then reuse
existing packs.

Or you can wait fro the GitTorrent protocol to be implemented, or implement
it yourself... ;-)

-- 
Jakub Narebski
Poland
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
git-daemon on NSLU2, Jon Smirl, (Fri Aug 24, 1:54 am)
Re: git-daemon on NSLU2, Shawn O. Pearce, (Fri Aug 24, 2:21 am)
Re: git-daemon on NSLU2, Jon Smirl, (Fri Aug 24, 3:38 pm)
Re: git-daemon on NSLU2, Jon Smirl, (Fri Aug 24, 4:27 pm)
Re: git-daemon on NSLU2, Nicolas Pitre, (Fri Aug 24, 4:23 pm)
Re: git-daemon on NSLU2, Jon Smirl, (Fri Aug 24, 5:17 pm)
Re: git-daemon on NSLU2, Linus Torvalds, (Fri Aug 24, 7:28 pm)
Re: git-daemon on NSLU2, Jon Smirl, (Sat Aug 25, 11:44 am)
Re: git-daemon on NSLU2, Jeff King, (Sun Aug 26, 5:33 am)
Re: git-daemon on NSLU2, Jakub Narebski, (Sun Aug 26, 8:14 pm)
Re: git-daemon on NSLU2, Jon Smirl, (Sun Aug 26, 12:34 pm)
Re: git-daemon on NSLU2, Linus Torvalds, (Sun Aug 26, 1:15 pm)
Re: git-daemon on NSLU2, Daniel Hulme, (Sun Aug 26, 6:24 pm)
Re: git-daemon on NSLU2, Jon Smirl, (Sun Aug 26, 2:06 pm)
Re: git-daemon on NSLU2, Linus Torvalds, (Sun Aug 26, 2:26 pm)
Re: git-daemon on NSLU2, Theodore Tso, (Mon Aug 27, 7:03 am)
Re: git-daemon on NSLU2, Linus Torvalds, (Mon Aug 27, 12:26 pm)
Re: git-daemon on NSLU2, Jon Smirl, (Sun Aug 26, 3:00 pm)
Re: git-daemon on NSLU2, Linus Torvalds, (Sun Aug 26, 4:19 pm)
Re: git-daemon on NSLU2, Junio C Hamano, (Sun Aug 26, 5:22 pm)
Re: git-daemon on NSLU2, Jon Smirl, (Fri Aug 24, 6:06 pm)
Re: git-daemon on NSLU2, Nicolas Pitre, (Fri Aug 24, 8:10 pm)
Re: git-daemon on NSLU2, Nicolas Pitre, (Fri Aug 24, 5:54 pm)
speck-geostationary